如何设置PHP Imagick根目录?

我最近在Windows下的Apache2.4下为PHP设置了Imagick。现在的问题是Imagick是从ServerRoot而不是从DocumentRoot运行的。例如,

$img=new Imagick("images/img.jpg");

引发异常。但是

$img=new Imagick("htdocs/images/img.jpg");

有效。 htdocs在ServerRoot中。有任何想法吗 ?

Huffmanhuang 回答:如何设置PHP Imagick根目录?

使用__DIR__,这是您从中运行PHP脚本的目录。

/**
 * When the PHP script is in `/var/www/htdocs/index.php`,* this would load `/var/www/htdocs/images/img.jpg`.
 *
 * On windows,a script in `C:\htdocs\index.php` would
 * result in `C:\htdocs\images\img.jpg`,as slashes are turned
 * by PHP automatically.
 */
$img = new Imagick(__DIR__ . '/images/img.jpg');

作为一种与环境无关的方法,您不必关心Apache的ServerRoot或PHP的安装位置。以通用的方式构建源代码,并在需要时使用环境变量。从项目内部加载图像时,您不需要外部任何东西。外部= ServerRoot的路径,Imagick的路径,...

本文链接:https://www.f2er.com/2492622.html

大家都在问