log4php не удалось подключиться к базе данных mysql-cluster в ubuntu12.04

все,

Мой log4php получает эту ошибку в новой серверной среде.

Предупреждение PHP: log4php: [LoggerAppenderPDO: по умолчанию]: не удалось подключиться к базе данных. Заключительное приложение. Ошибка: не удалось найти драйвер в ../log4php/LoggerAppender.php в строке 283.

У меня те же настройки для log4php (1. файл config.xml 2. та же версия log4php), что и у моей локальной разработки, которая отлично работает. Я попытался просто войти в файл на новом сервере, он работает, что означает, что в библиотеке log4php нет проблем. И я даже могу войти в базу данных на новом сервере из моего локального скрипта, используя локальную библиотеку log4php, что означает, что мой сервер может распознавать ведение журнала log4php.

Я думаю, что это должно быть связано с аутентификацией в базе данных с самого сервера. Но понятия не имею, в чем проблема и как ее решить. Есть идеи?

Обойти:

После некоторых поисков и тестов (скрипт, использующий PDO, а не mysqli для подключения к базе данных, ссылка здесь), я подтверждаю, что проблема вызвана отсутствием драйвера, связанного с pdo_mysql, как указал akluth. Я попытался переустановить php5-mysql, но это не удалось, я попытался изменить php.ini, получил больше ошибок. Я думаю, это потому, что настройки mysql-cluster могут отличаться от обычных настроек mysql. Поскольку новый сервер является производственным, мы решили не трогать его и перенести скрипты на другой сервер с обычными настройками mysql.


person zhihong    schedule 16.10.2013    source источник
comment
Убедитесь, что на новом сервере включено расширение PDO. Обратите внимание на extension=pdo_*.sql в файле php.ini, где * означает mysql, sqlite или любую другую систему баз данных, которую вы используете.   -  person akluth    schedule 16.10.2013
comment
@akluth, в моем php.ini нет такой строки расширения, также нет этой строки в файле php.ini в моей локальной разработке, с которой log4php работает отлично. Мне интересно, может ли это быть связано с версией php? Я обнаружил, что версии php отличаются на сервере и в моей локальной разработке.   -  person zhihong    schedule 16.10.2013
comment
Было бы полезно, если бы вы опубликовали версии PHP, которые вы используете в своем вопросе, а также сервер, который вы используете; довольно сложно исправить среду, когда вы почти ничего о ней не знаете.   -  person akluth    schedule 16.10.2013
comment
@akluth, моя серверная версия php — 5.3.6-13ubuntu3.10, в разработке — 5.3.10-1ubuntu3.8, и мне интересно, упомянутый вами файл — pdo_.so или pdo_ .sql?   -  person zhihong    schedule 16.10.2013
comment
@akluth вы используете базу данных MySQL?   -  person KarlosFontana    schedule 16.10.2013
comment
@KarlosFontana, я использую базу данных MYSQL-CLUSTER в Ubuntu 12.04.   -  person zhihong    schedule 16.10.2013
comment
Просто попробуйте добавить эту строку где-нибудь под частью [extension] в php.ini: extension=pdo_mysql.so. Это .so, не .sql. Затем перезапустите веб-сервер или перезагрузите конфигурацию веб-серверов.   -  person akluth    schedule 16.10.2013
comment
После добавления pdo_mysql.so и запуска php-скрипта я получил новую ошибку: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php5/20090626/pdo_mysql.so' - /usr/lib/php5/20090626 /pdo_mysql.so: неопределенный символ: php_pdo_register_driver в неизвестном в строке 0   -  person zhihong    schedule 16.10.2013