Resolving a Fatal error: Call to undefined function mysql_connect() in RedHat
18, Sep 2005 12:36
The mysql.so extension library does not come with the PHP or MySQL distributions. It must be installed separately by downloading the php-mysql RPM.
1. Verify that your installation of PHP has been compiled with mysql support. Create a test web page containing and load it in your browser. Search the page for MySQL. If you don't see it, you need to recompile PHP with MySQL support, or reinstall a PHP package that has it built-in, both of which are beyond the scope of this document.
2. Verify that the line to load the extension in php.ini has been uncommented. In Linux, the line is extension=mysql.so and in Windows, the line is extension=php_mysql.dll. Uncomment the line by removing the semi-colon. You might also need to configure the extension_dir variable.
3. Check if the php-mysql package is installed by opening a terminal window (bash), and typing, rpm -qa | grep php. If you don't see it, make a note of the exact version of PHP that is installed.
4. Find the php-mysql RPM for the version of PHP that is installed on your system. The easiest way to find it is to search by the version of RedHat you have. Go to a RedHat mirror or look on your RedHat CDs. For example, you can go to http://redhat.usu.edu/mirrors/redhat/linux/. If you have RedHat 8.0, then navigate to the folder /linux/8.0/en/os/i386/RedHat/RPMS/ and search for php-mysql. Download this file. (For a list of mirror sites, try RedHat Mirrors or search Google for redhat mirrors.)
5. To install the file, open a terminal window and cd to the directory where you saved the RPM. Then type rpm -hivv php-mysql-4.2.2-17.i386.rpm and press enter. This will install the RPM for RedHat 9.0.
6. You might also need MySQL-shared-compat RPM if you get a dependency of libmysqlclient.so.10 error while installing.
7. The last step is to restart Apache. You can do this with one of the following commands, apachectl restart or /etc/rc.d/init.d/httpd restart.