ОБНОВИТЬ
Я спросил об этом на StackOverflow, так как в то время у меня не было никаких ответов. Вот ссылка на ответы для полноты картины. Мне понравится эта страница, как только я попробую решение Дэна С.
ОРИГИНАЛ
Некоторое время назад наш крупный клиент перешел к одному хостинг-провайдеру, который разработал программную среду, которая будет согласована на всех действующих серверах.
Среди прочего, это включает Apache 2.2.8 и PHP 5.1.6.
У нас был сервер ubuntu 8.04 для разработки, и эти версии Apache и PHP не установлены по умолчанию. Поэтому мне пришлось скомпилировать их из исходников. Эти версии успешно работают уже больше года.
Мы начинаем сборку нового сайта и хотим использовать ZendFrameword, для которого требуется PDO_MySQL.
Я пробовал перекомпилировать со следующим ...
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/user/local/apache2/conf/php.ini \
--with-curl=/usr/lib/ --with-mysql=shared --with-mysqli=shared \
--with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \
--with-freetype-dir=/usr/lib/ --enable-soap --enable-pdo=shared \
--with-pdo-mysql=shared --with-sqlite=shared
...
make
...
make install
...
libtool --finish /sources/php-5.1.6/libs
Все это работает нормально, и когда я возвращаю apache, он показывает мне новый ./configure в phpinfo ().
После этого MySQL перестает работать, раздел MYSQL исчезает и msyql перестает работать.
Make, make install, libtool ... помещает файлы * .so в
/ USR / локальные / lib / php / расширения / без отладки-не-zts-20050922
Конфигурация, которую я использовал ранее, которая включает MySQL, но не PDO,
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/user/local/apache2/conf/php.ini \
--with-curl=/usr/lib/ --with-mysql --with-mysqli \
--with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \
--with-freetype-dir=/usr/lib/ --enable-soap
Я не массивный * nix человек, может кто подскажет, где я ошибаюсь.
Спасибо
Первый:
У вас есть посторонняя буква "е" в вашем --with-config-file-path
флаг.
Если опечатка в твоей реальности configure
тоже, то это может быть причиной вашей проблемы.
Второй:
PHP должен знать, откуда загрузить расширение.
Вы можете указать ему искать в каталоге, который вы отметили, отредактировав свой php.ini
следующим образом:
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/"
На заметку:
Обратные косые черты - это обычное обозначение продолжения строк.
Ваша оболочка будет безопасно интерпретировать их, если вы скопируете / вставите команду в терминал.