64-bit Linux -- Fatal ... undefined function mysql_connect()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I'm running Fedora 12 (64-bit), Apache 2.2.14, PHP 5.3.1, MySQL
5.1.42, on a Dell laptop.

I'm trying to access a local MySQL database using PHP. When I execute
this code from the shell (as: php testcode.php)

	<?php
	$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
	if (!$link) {
	   die('Could not connect: ' . mysql_error());
	}
	echo 'Connected successfully';
	mysql_close($link);
	?>

I get the message:

Fatal error: Call to undefined function mysql_connect()

The FAQ on the PHP site says:

"Unix users, at least the ones who know what they are doing, tend to
always build PHP against their system's
libmysqlclient library simply by adding the --with-mysql=/usr option
when building PHP."

But I'd like to avoid compiling PHP from source. I've had endless
trouble getting non-rpm code to play nice with
this 64-bit distro of Fedora. Also, I don't want to wind up with
multiple copies of PHP (or MySQL, or Apache).

A reply to an earlier poster read:
======
It sounds like the MySQL extension module isn't loading. Here are some
things to confirm:
  - Ensure the module is declared in your php.ini file
  - If it exists in the php.ini, confirm the module is located and named
    as stated in the php.ini file.
  - If the module is named and located in the proper place, check your
    permissions on that extension. You want to make sure whatever is running
    your site can access the module.
=======
I've tried obeying the above instructions, with no luck. I'm also confused by
the lines in php.ini:

;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;

As guides, I initially used the following two pages:

http://forums.fedoraforum.org/showthread.php?t=94257   (Title: Every
server setup imaginable)
http://www.somacon.com/p109.php  (Title: Resolving a Fatal error: Call
to undefined function
                                  mysql_connect() in RedHat)
and have been reading the PHP and MySQL documentation.

As per the Fedora Forum thread, I have executed:
	yum install php httpd system-config-httpd mod_ssl
as well as:
	yum install mysql-server mysql mysql-gui-tools
and:
	yum install php-mysql

I've also tried altering /etc/php.ini with
        extension_dir = "/usr/lib64/php/modules/"
which is where my mysql.so is found, and
        extension=mysql.so

The output of my phpinfo() includes:

mysql

MySQL Support	                  enabled
Active Persistent Links	          0
Active Links	                  0
Client API version	          5.1.42
MYSQL_MODULE_TYPE	          external
MYSQL_SOCKET	                  /var/lib/mysql/mysql.sock
MYSQL_INCLUDE	                 -I/usr/include/mysql
MYSQL_LIBS	                 -L/usr/lib64/mysql -lmysqlclient

Directive	                    Local Value	          Master Value
mysql.allow_local_infile	    On	                  On
mysql.allow_persistent	            On	                  On
mysql.connect_timeout	            60	                  60
mysql.default_host	            no value	          no value
mysql.default_password	            no value	          no value
mysql.default_port	            no value	          no value
mysql.default_socket	    /var/lib/mysql/mysql.sock	/var/lib/mysql/mysql.sock
mysql.default_user	            no value	          no value
mysql.max_links	                    Unlimited	          Unlimited
mysql.max_persistent	            Unlimited	          Unlimited
mysql.trace_mode	            Off	                  Off


mysqli

MysqlI Support	                enabled
Client API library version	5.1.42
Active Persistent Links	        0
Inactive Persistent Links	0
Active Links	                0
Client API header version	5.1.39
MYSQLI_SOCKET	                /var/lib/mysql/mysql.sock

Directive	                   Local Value	          Master Value
mysqli.allow_local_infile	   On	                  On
mysqli.allow_persistent	           On	                  On
mysqli.default_host	           no value	          no value
mysqli.default_port	           3306	                  3306
mysqli.default_pw	           no value	          no value
mysqli.default_socket	           no value	          no value
mysqli.default_user	           no value	          no value
mysqli.max_links	           Unlimited	          Unlimited
mysqli.max_persistent	           Unlimited	          Unlimited
mysqli.reconnect	           Off	                  Off

I'm just about out of ideas. The website I'm building will be strictly
local, for learning MySQL and PHP.

Can anybody help?

Thanks in advance...

Andy

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux