У меня есть MySQL (5.5.23 Community Server), Apache (2.2) и PHP (5.3.13), работающий на компьютере Fedora 15 (64-разрядный). Каждый работает без проблем самостоятельно.
Я думал, что PHP настроен/скомпилирован для работы с MySQL, но когда я пытаюсь загрузить любую веб-страницу PHP, которая вызывает вызов MySQL, я получаю вышеупомянутую фатальную ошибку (в журнале ошибок Apache). PHP работает нормально, но через Apache и в командной строке.
Когда я запускаю php -i из командной строки, достаточно уверен, что он отображает все биты и части MySQL, но когда я загружаю страницу, отображающую phpinfo(), то не упомянуты модули MySQL.
Я также пробовал комментировать "extension = mysql.so" в php.ini, но PHP жалуется на "PHP Startup: не удается загрузить динамическую библиотеку '/usr/lib64/php/modules/mysql.so'."
(даже если модуль там находится). Но тогда я не совсем уверен, нужна ли эта строка для того, чтобы ее не прокомментировали или нет. [Коррекция: ошибка была указана из-за опечатки, но запуск из командной строки показывает, что модуль уже загружен в любом случае - там это предупреждение от PHP, которое так говорит.]
Я также отключил SELinux; многократно останавливал/перезапускал Apache; yummed MySQL-Devel, если это имеет значение; и, кажется, все другие возможные вещи.
Если я запустил небольшой PHP-тест script из командной строки, чтобы получить доступ к базе данных MySQL, то он работает без проблем, поэтому PHP знает о MySQL, но когда он работает под Apache, он, похоже, не имеет понятия что MySQL даже существует.
Я пытаюсь в течение нескольких месяцев пытаться решить эту проблему и, кажется, все пробовал, но ничего не работает.
Я не против переустанавливать PHP, если мне действительно нужно, если кто-то может продемонстрировать правильный способ настройки/компиляции с поддержкой MySQL, чтобы я мог заставить его работать под Apache, хотя в идеале я ' d просто предпочитают работать с существующей установкой.
Большое спасибо за любую помощь!