私はphp5-fpmでnginxを使用していますが、何故私のphp5-fpmは「Module 'PDO」が未知の行0に既にロードされています。アイデア理由。拡張子はphp.iniの中には読み込まれませんが、pdo.iniをロードする "--with-config-file-scan-dir"からロードされます。もちろんpdo.soをロードします。モジュール 'PDO'が未知の行に既にロードされています0
my php config is as私は私の作品解決策を見つけることができないよう
'./configure' '--prefix=/opt/php5' '--with-config-file-path=/etc/php5' '--with-config-file-scan-dir=/etc/php5/conf.d' '--with-curl' '--with-pear' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-xpm-dir' '--with-freetype-dir' '--with-t1lib' '--with-mcrypt' '--with-mhash' '--with-mysql' '--with-mysqli' '--with-pdo-mysql' '--with-openssl' '--with-xmlrpc' '--with-xsl' '--with-bz2' '--with-gettext' '--with-readline' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--disable-debug' '--enable-fpm' '--enable-cli' '--enable-inline-optimization' '--enable-exif' '--enable-wddx' '--enable-zip' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-mbstring' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-shmop' '--enable-dba' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg'
に従います。
私はPDO拡張モジュールがロードされたかどうかを確認するために私のphpinfo()
をチェックし、(私がpdo.iniからpdo.soをロード削除しても)ロードされているようだ、まだ私はPDOを使用しようとすると、私は
を取得Fatal Error: Class 'PDO' not found
私はまた、suhosin.so
,apc.so
、およびimagick.so
を問題なくロードしていることを指摘します。
インストールされているパッケージのリスト(phpとmysql)うまくいけば、これで私を助けてくれるいくつかの情報が得られます。私の構成が過去6ヶ月間、問題なく動作していることにも注目してください。私はVladGHのインストールスクリプト(https://github.com/vladgh/VladGh.com-LEMP)を使ってインストールしました。これは私の開発環境です。必要があれば、私はサーバーの完全な再インストールを行うこと以上に喜んでいますが、私はむしろこれを理解しています。
dpkg --get-selections | grep php
libapache2-mod-php5 install
php5-cgi install
php5-cli install
php5-common install
php5-mysql install
php5-suhosin install
dpkg --get-selections | grep mysql
courier-authlib-mysql install
libdbd-mysql-perl install
libmysql++3 deinstall
libmysqlclient16 install
mysql-client-5.1 install
mysql-client-core-5.1 install
mysql-common install
mysql-server install
mysql-server-5.1 install
mysql-server-core-5.1 install
php5-mysql install
postfix-mysql install
この問題を解決する方法について多数の解決策を試した後、私は自分のマシンに完全に再インストールすることにしました。
あなたはシステム提供のパッケージを使用していますか?もしそうなら、どのものがインストールされていますか? UbuntuはPHPのバージョンをかなり新鮮に保ち、さらに多くのPECL拡張をビルドするので、通常はカスタムコンパイルの必要はありません。 – Charles
元々PHPをビルドしました。それ以来、私はapt-get:php5-dev(削除してパージしたもの)、php-pear(削除してパージしたもの)、libmysqlclient-dev&mysql-client(アップデート)、libmysql ++ - dev、phpize、 mongodb。任意のアイデア、私はパッケージを介してPHPを再コンパイルする必要がありますか? –
ディストリビューションで提供されるバイナリパッケージを使用することは、あなた自身をコンパイルするのではなく、ほとんどいつでもベストベットです。 'php5-mysql'、' php5-pgsql'、 'php5-sqlite'パッケージはそれぞれPDOとドライバを提供します。 – Charles