私はimagick PHP拡張機能をWindowsにインストールしようとしています。それはPHP 5.2、PHP 5.3で動作していましたが、PHP 5.4に問題があります。Imagick PHP 5.4の拡張機能は、相対パスでは機能しません。 (窓)
イメージングバージョン:ImageMagick-6.7.6-3-Q16-windows-dll。モジュールが動作しています。私はphpinfo()でimagickを見ることができます。
問題はimagickがファイルへの相対パスを認識しないことです。
Fatal error: Uncaught exception 'ImagickException' with message 'unable to open image `a.jpg': No such file or directory @ error/blob.c/OpenBlob/2614' in D:\Web\i\index.php:3 Stack trace: #0 D:\Web\i\index.php(3): Imagick->__construct('a.jpg') #1 {main} thrown in D:\Web\i\index.php on line 3
しかし、私は絶対パス$im = new imagick('D:\web\i\a.jpg');
を使用する場合、それは次のとおりです。私は同じフォルダに簡単なindex.phpをとa.jpgを持っている場合、私は例外を取得するので、例えば、私は$im = new imagick('a.jpg');
を使用することはできませんワーキング。
私は、ImagickがApache core dirを参考にしていることを知りました。私はパスなしの画像を保存しました:
$ im-> writeImage( 'this-is-what-looking-for.jpg');
そして私はCでそれを見つけた:\プログラムファイル(x86の)\ Apache24 \これは、ある-何-IM-探し-for.jpg
問題はすべて私の古いスクリプトがあること、です相対パスで書かれており、私はそれらを使用してカウントダウンしたいと思います。
問題がimagick自体にあるのか、PHP 5.4のどこかにあるのかどうかわかりません。
ありがとうございました
あなたの質問は何ですか?あなたは '$ _SERVER ['DOCUMENT_ROOT']'を使用できませんか? –
これはImagickの問題ですか? 'echo __DIR__'を実行して、それが自分の作業ディレクトリでないかどうか確認できますか? –
ベン:私の質問は、現在のディレクトリ(D:\ web \ i)をApacheのルートディレクトリ(C:\ Program Files(x86)\ Apache24 \)の代わりに作業ディレクトリとして使用する方法古いPHPバージョン) –