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

Reply via email to