私はVPSを購入しただけで、PHP5.3.3が付属していましたが、これは私たちのウェブサイトには適していなかったので、PHP5.6.7を正常にインストールし、Pleskに正常に登録しました。
問題のウェブサイトについてPleskのホスティング設定で5.6.7を選択しましたが、すべてがうまくいきました。見ると、phpinfo()
正しいバージョンが使用されていることがわかります。
満足すれば、ウェブサイトに必要な他の2つの拡張プログラムimagickとmemcacheをインストールしました。正しいphp.iniファイルに拡張機能を追加し(phpinfoから正しいパスを取得する)、Apacheを再起動すると、どちらもエラーなしでうまくインストールされるようです。
extension=memcache;
extension=imagick;
$ service httpd restart
これが私が問題を見るところです。 phpinfoを確認しましたが、拡張機能が表示されず、私のアプリケーションでこれを確認しました。
if (extension_loaded('imagick')) {
echo 'IMagick extension loaded okay.';
} else {
echo 'IMagick extension not loaded! Meh!';
}
次に、このコマンドを実行して拡張に使用されるフォルダを見つけます。
$ php-config --extension-dir
次を返します。
/usr/lib64/php/modules
しかし、phpinfoを確認してみると、extensions_dir
次のようになります。
/php/php-5.6.7/lib/php/extensions/no-debug-non-zts-20131226
その後、拡張機能がある拡張ディレクトリを調べて、さらにimagick.so
調査を行いました/usr/lib64/php/modules
。拡張機能はありますが、phpinfoディレクトリには拡張機能はありません。また、Pleskに行き、5.3.3に戻り、phpinfoの内容を確認してこれを確認しました。私がインストールした両方の拡張機能がリストされており、うまく動作しています!うまくインストールされましたが、間違ったPHPバージョンがあるようです。
私は拡張を現在の場所から必要な場所にコピーしたいと思いました。
$ cp /usr/lib64/php/modules/imagick.so /php/php-5.6.7/lib/php/extensions/no-debug-non-zts-20131226/imagick.so
そして、httpdを再起動する前にファイルが新しいフォルダにあるかどうかをテストしましたが、再び運がありませんでした。
拡張機能(およびモジュール)が5.6.7ディレクトリではなくPHP5.3.3ディレクトリにインストールされることは明らかです。しかし、どのようにこれが起こりますか?cd /php/php-5.6.7
まず、ディレクトリを変更してからインストールコマンドを実行する必要がありますか?以下は、rootとしてログインしてimagickをインストールするために使用した同様のコマンドです。
$ yum install ImageMagick ImageMagick-devel
$ pecl install imagick
$ echo "extension=imagick.so" > /etc/php.d/imagick.ini
imagickを新しくインストールするために必要なコマンドを正しいPHPバージョンで共有できるフレンドリーな人はいますか?それとも問題を解決する簡単な方法を共有しますか?
この問題の解決にご協力いただきありがとうございます。
役に立つ場合に備えて、PHP5.6.7のインストールに使用したGISTは次のとおりです。
答え1
PHP5.3.3をアンインストールし、imagemagicをインストールします。 yumが画面に印刷する内容を読んでください(PHP5.3.3を再インストールしない場合)。
PSちょうどあなたが実際にしたことを読んだ。 PHP5.6をコンパイルしましたが、パッケージマネージャではサポートされなくなりました。 PHP5.6が必要なのはなぜですか? CentOSにPHP5.4をインストールするために何もコンパイルする必要はありません。