This is a discussion on Fatal error: Call to undefined function within the alt.comp.lang.php forums, part of the PHP Programming Forums category; I'm a PHP and MySQL newbie. I have a feeling a lot of you may have seen this before. ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
I'm a PHP and MySQL newbie. I have a feeling a lot of you may have seen this
before. I'm teaching myself PHP/MySQL and trying to setup a guestbook. I'm running latest versions of Apache, PHP and MySql on WIN 2000. PHP is installed from the zip file. When serving php docs (code snippets below) I get the messages: "Fatal error: Call to undefined function mysql_connect() " "Fatal error: Call to undefined function mysql_pconnect() " I've been reading and searching and trying all sorts of things to fix this and can't find the solution. I've removed the comment from the line "extension=php_mysql.dll" in php.ini. (Below is the MySQL section of php.ini. It's pretty standard, I'm using defaults.) I edited my Apache config file with the needed lines: ### Section 4: PHP 5 Module # ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/" LoadModule php5_module php/php5apache2.dll AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps PHPIniDir "C:/Program Files/Apache Group/Apache2/PHP" When I run phpinfo, MySQL is not listed. Do I need to enable it in the configure command? How do I edit the configure command. Per phpinfo, It now reads: Configure Command cscript /nologo configure.js "--with-gd=shared" "--enable-snapshot-build" I read these comments: Ok, your php.ini file is set to 'on' for mysql.allow_persistent, but is mysql really enabled? Does your configure command look something like this? './configure' '--with-mysql=/usr/local/mysql'............................................ If you don't have --with-mysql it means that you cannot use mysql functions, so compile PHP again with this option. How do I edit that pesky configure command. I searched, but couldn't find an answer. So, where am I going wrong? Thanks for reading and big thanks for any help. gene sunishun@verizon.net php.ini snippet (comments removed for easier reading: [MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off guest.php code snippet: //connect // change localhost to your db host name mysql_pconnect( "http://aulon.dyndns.org/", "$username", "$password") or die( "Unable to connect to SQL server"); mysql_select_db( "$db_name") or die( "Unable to select database"); guestbook.php code snippet: // Connect to DB $li = mysql_connect($dbHost, $dbUser, $dbPass) or die("Could not connect"); mysql_select_db($dbDatabase, $li) or die ("could not select DB"); |
|
|||
|
gc wrote:
> How do I edit that pesky configure command. I searched, but couldn't > find an answer. So, where am I going wrong? Thanks for reading and > big thanks for any help. > You don't under Windows. During restart of Apache I imagin that you get an error message related to the php_mysql.dll. When this is the case, be sure to copy the libmysql.dll (also in de zip distribution) to the %windir%\system32 directory and to restart Apache after you have copied the file. JW |
|
|||
|
Someone suggested I revert to PHP4. I did and it works finally! Here's the
message. __________________________________________________ __- Latest MySQL and PHP5 don't mix by default on Windows. You need another Mysqllib. There are some functions that no longer exist in PHP I believe. I found it a nightmare to get it to work, but others can probably point out how exactly to do this. I gave up after hours of toying, went back to PHP 4.3.8 so I can't exactly tell you how to go about it. Good luck Pjotr __________________________________________________ __- Thanks for helping. gene |
|
|||
|
gc wrote:
> Someone suggested I revert to PHP4. I did and it works finally! Here's the > message. Well in fact you only needed to put the libmysql.dll (that is given in the PHP5 zip file) in your environment PATH. (e.g.: put it in your windows dir, although this is not recommended.) and uncomment the correct line in your php.ini. But i suppose that if you switched back to good old 4.3.x you didn't really need 5.x Best regards, Sebastian -- The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents. --Nathaniel Borenstein |