Я настроил PHP для использования Apache mod_fcgid.
PHP работает, но после изменений в конфигурации я не могу подключиться к MySQL через php.
Как это исправить?
Любые идеи, которые могут намекнуть, очень желательны!
Для проверки подключения mysql я использую следующий php код:
error_reporting(E_ALL);
$link = mysql_connect('127.0.0.1', 'root', 'password_here');
if (!$link) {
die('Could not connect. Error message: <' . mysql_error() . '>');
}
echo 'Connected successfully';
Сообщение об ошибке, возвращаемое mysql_error()
, пусто.
Я использую следующую конфигурацию в Apache:
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
AddHandler fcgid-script .fcgi .php
DefaultInitEnv PHPRC "C:/Program Files/php5"
DefaultInitEnv PHP_FCGI_MAX_REQUESTS 1000
MaxRequestsPerProcess 1000
MaxProcessCount 15
IPCCommTimeout 120
IdleTimeout 120
FCGIWrapper "C:/PROGRA~1/php5/php-cgi.exe" .php
AddType application/x-httpd-php .php
DefaultInitEnv PATH "C:/PROGRA~1/MYSQL/MYSQLS~1.0/LIB/OPT;C:/PROGRA~1/APACHE~1/APACHE2.2/BIN;C:/WINDOWS/system32;C:/WINDOWS"
</IfModule>
PHP 5.3.1, Apache / 2.2.14 (Win32), MySQL 5.0.67-community-nt, Windows Vista Home Premium Service Pack 1.
Я загрузил двоичные файлы mod_fcgid из http://www.apachelounge.com/download/mods/mod_fcgid-2.2b-w32.zip
EDIT:
Я использовал phpinfo()
для сравнения конфигурации. «Loaded Configuration File
» одинаково как с mod_fcgid
, так и без него. Раздел mysql
одинаков для обоих конфигов. Из того, что я обнаружил, раздел Environment, когда включен mod_fcgid, содержит только переменную, связанную с FastCGI (только 4 элемента), а без mod_fcgid - гораздо больше ...
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Если кто-то успешно установил FastCGI для php, с Apache и mysql в Windows, было бы очень полезно узнать о вашем опыте.
EDIT:
Я получаю следующее предупреждение:
Предупреждение: mysql_connect () [function.mysql-connect]: в E: \ ... \ testphp \ mysql.php в строке 7
EDIT
Журнал ошибок mysql не содержит ошибок на mysql_connect()
.