繁体   English   中英

Imagick PHP 5.4扩展不适用于相对路径。 (视窗)

[英]Imagick PHP 5.4 extension does not work with relative paths. (windows)

我正在尝试在Windows上安装imagick PHP扩展。 它正在开发PHP 5.2,PHP 5.3,但我遇到了PHP 5.4的问题。

Imagick版本:ImageMagick-6.7.6-3-Q16-windows-dll。 模块正在运行。 我可以在phpinfo()中看到想象力。

问题是,imagick无法识别文件的相对路径。 例如,如果我在同一文件夹中有简单的index.phpa.jpg ,我就不能使用$im = new imagick('a.jpg'); 因为我得到例外:

致命错误:未捕获异常'ImagickException',消息'无法打开图像`a.jpg':D:\\ Web \\ i \\ index.php中没有此类文件或目录@ error / blob.c / OpenBlob / 2614':3堆栈跟踪:#0 D:\\ Web \\ i \\ index.php(3):Imagick - > __ construct('a.jpg')#1 {main}在第3行的D:\\ Web \\ i \\ index.php中抛出

但是当我使用绝对路径时, $im = new imagick('D:\\web\\i\\a.jpg'); 这是工作。

我发现,Imagick使用Apache核心目录作为参考。 我没有路径保存图像:

$ im-> writeImage('this-is-what-im-looking-for.jpg');

我在C:\\ Program Files(x86)\\ Apache24 \\ this-is-what-im-looking-for.jpg中找到它

问题是,我所有的旧脚本都是用相对路径编写的,我想用它们来计算。

我不知道,如果问题出在想象本身,或者PHP 5.4中的某个地方。

先感谢您

听起来你可能已经发现了一个bug。

我建议在http://bugs.php.net/report.php上报告

在此期间,您可以使用__DIR____FILE__来构建绝对路径。

例如,要使用脚本的目录,请执行以下操作:

$im = new imagick (__DIR__ . DIRECTORY_SEPARATOR . 'a.jpg');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM