2

Обновление 2 (проблема решена):

Проблема была неверным параметром во время компиляции. Смотрите мой ответ для деталей.

Обновить:

Результат следующей команды, вероятно, проливает свет на проблему!

# php-cgi -m
[PHP Modules]
...
PDO
pdo_sqlite
...

Здесь нет расширения pdo_mysql ... почему ?? Php.ini - это то же самое, что используется для PHP в CLI, который загружает расширение pdo_mysql (через extension_dir)

Оригинальный вопрос:

Скомпилированный PHP 5.5.1 на Ubuntu 12.04

# php -v
PHP 5.5.1 (cli) (built: Aug 22 2013 02:57:03)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

Расширение PDO MySQL загружается на CLI:

# php --ri pdo_mysql

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock

Когда я захожу на страницу с помощью CGI/FastCGI, расширение MySQL PDO не загружается

<?php phpinfo(); ?>
PDO
PDO support     enabled
PDO drivers     sqlite

В обоих случаях используются один и тот же файл extension_dir и php.ini.

php.ini path: /usr/local/lib/php.ini
extension_dir: /usr/local/lib/php/extensions/no-debug-non-zts-20121212

Содержимое extension_dir:

#ls /usr/local/lib/php/extensions/no-debug-non-zts-20121212
mcrypt.so  opcache.a  opcache.so  pdo.so  pdo_mysql.so

Как я могу запустить PHP в FastCGI для распознавания и загрузки расширения MySQL PDO?

1 ответ1

0

Человек, который был разочаровывающим опытом ...

Получается набор направлений, которым я следовал, использовал параметр configure для включения CGI для более старой версии PHP (этот параметр изменялся между 3 вариантами за время существования PHP), и он все еще не ясен на 100%, если вы посмотрите руководство:http://php.net/manual/en/configure.about.php

Мне пришлось перекомпилировать с опцией --enable-cgi , а не --with-fastcgi (<4.3), ни --enable-fastcgi (<5.3), ни --disable-cgi (> 5.3, и в документах упоминается, что это позволяет но fastcgi кажется чем-то другим для моего случая)

С другой стороны, у меня был повод для обновления до 5.5.2 :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .