【发布时间】:2018-05-13 00:23:19
【问题描述】:
我想从 PHP 运行 https://github.com/svg/svgo,但是权限有些问题。
我的示例应用程序:
root
-- svgo.php
-- svgfiles
-- test.svg
-- node_modules
-- svgo
-- bin
--svgo
我的 PHP 脚本:
<?php
exec("node_modules/svgo/bin/svgo svgfiles/test.svg -o svgfiles/test.min.svg");
?>
当我在 CLI 上运行“php svgo.php”时会创建 test.min.svg 文件,但是当我使用 MAMP 安装访问“localhost/svgo.php”时它什么也不做。我还给了路径“svgfiles”权限777。
【问题讨论】:
-
如果将
echo放在exec之前会发生什么?也许它会告诉你为什么它失败了 -
将输出回显。如果我在命令行上回显 exec 的返回,它将在 localhost 上打印类似“test.svg:在 42 毫秒内完成!8.104 KiB - 40.5% = 4.824 KiB”的结果,来自 exec 的回显是空的......没有错误否则...
-
尝试运行
echo exec("ls");以确保您实际上位于正确的目录中
标签: php unix permissions file-permissions