Php Convert在shell中执行,但在shell_exec中不执行
似乎有许多相关的问题,在仔细研究了其中的许多问题之后,我似乎仍然找不到解决办法 在shell中执行以下操作可以实现以下目的:Php Convert在shell中执行,但在shell_exec中不执行,php,permission-denied,imagemagick-convert,Php,Permission Denied,Imagemagick Convert,似乎有许多相关的问题,在仔细研究了其中的许多问题之后,我似乎仍然找不到解决办法 在shell中执行以下操作可以实现以下目的: /usr/local/bin/convert-trim-density 300/Users/fullpath/file.pdf/Users/fullpath/file.png 但在php文件中执行以下操作: <?php putenv("PATH=/usr/local/bin:/usr/bin:/bin"); echo shell_exec('
/usr/local/bin/convert-trim-density 300/Users/fullpath/file.pdf/Users/fullpath/file.png
但在php文件中执行以下操作:
<?php
putenv("PATH=/usr/local/bin:/usr/bin:/bin");
echo shell_exec('/usr/local/bin/convert -trim -density 300 /Users/fullpath/file.pdf /Users/fullpath/file.png 2>&1');
?>
没有。显示的错误消息为:
转换:无法创建临时文件
`/Users/fullpath/file.pdf':权限被拒绝
我的规格是:
麦克:雪豹
通过本地主机运行Apache
显然这是一个权限问题,但是在哪里呢?文件本身和相关文件夹都是777。这似乎很奇怪,但您能尝试设置一个特定的临时文件夹吗 试试这段代码,我刚刚添加了一个新的环境变量,将临时目录设置为/tmp(您可以尝试其他位置):
很抱歉,我的chrome浏览器崩溃了。错误实际上是相同的,
UnableToCreateTemporaryFile
<?php
putenv("PATH=/usr/local/bin:/usr/bin:/bin");
putenv("MAGICK_TEMPDIR=/tmp");
echo shell_exec('/usr/local/bin/convert -trim -density 300 /Users/fullpath/file.pdf /Users/fullpath/file.png 2>&1');
?>