使用PHP文件中的“exec”执行PHP CLI时,libpng16.16.dylib加载错误

时间:2014-12-02 17:33:16

标签: php macos homebrew libpng

我在Mac OS X Yosemite上运行PHP 5.5。 PHP 5.5随Homebrew一起安装。

我有一个.php脚本,必须异步执行(从CLI)。如果我从终端执行它,它工作正常。但是,如果我在我的PHP应用程序中执行它,它就不起作用。

启动脚本的代码(由Apache运行)是:

// 1.- Alter path so that Homebrew PHP is launched
putenv("PATH=/usr/local/bin:" . getenv("PATH"));

// 2.- Exec PHP script in background
exec("php /path/to/my/file/script.php > /dev/null &");

我收到以下错误:

Library not loaded: /usr/local/lib/libpng16.16.dylib
  Referenced from: /usr/local/bin/php
  Reason: no suitable image found.  Did find:
    /usr/local/lib/libpng16.16.dylib: stat() failed with errno=13
    /usr/local/lib/libpng16.16.dylib: stat() failed with errno=13

任何线索?

我已经尝试过dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib with anything php related中没有运气的解决方案

1 个答案:

答案 0 :(得分:2)

stat() failed with errno=13表示存在权限错误。 .dylib文件应具有读取权限,其中包含的目录也应设置可执行文件(x)。 (我认为也应该设置读取[r]位,但我并非100%确定。)