1

我有一个 php 文件,需要从运行在 CodeIgniter 框架上的 PHP 应用程序在 CLI 中执行。我尝试了 exec 和 shell_exec 命令,它似乎没有启动该过程。请在下面找到我尝试执行的代码。

$phpPath = exec('which php');
$cmd = $phpPath.' '.dirname(__DIR__).'/API/notification/NotificationServer.php';
echo "<pre>".shell_exec($cmd)."</pre>";

当我尝试在终端中运行上述内容时,它执行得很好。一旦用户设置了会话,我需要自动触发它。

path/$cmd 变量打印

当我打印变量 $cmd 时,我得到以下输出,并且在终端中给出以下输出正常。

/usr/bin/php /Users/lalithb/Desktop/Android/AndroidWS/API/notification/NotificationServer.php

上述命令在终端中运行良好。当我尝试 exec/shell_exec 它时,它不起作用。

APACHE_ERROR 日志是:

sh: line 1:  2437 Trace/BPT trap: 5       /usr/bin/php
sh: line 1: /Users/lalithb/Desktop/Android/AndroidWS/API/notification/NotificationServer.php: Permission denied

有人可以帮我在 CLI 中运行上面的代码吗?

4

1 回答 1

0

我解决了这个问题,猜猜会有像我这样的人试图访问受限制的文件夹。我在这里找到了解决方案

http://ubuntuforums.org/showthread.php?t=1302259

exec('chmod +x'.dirname(__DIR__).'/API/notification/NotificationServer.php);

上面的工作很神奇。

于 2012-12-12T06:09:05.263 回答