在OSX上执行exec(php -l *)

时间:2012-02-19 00:56:56

标签: php exec

我正在尝试从PHP中的AJAX调用运行php CLI。我在Windows下在WAMP下工作正常,但是当我尝试在OSX下运行相同的代码时,它会挂起在exec()命令上。它试图在命令行上运行的实际字符串在终端中完美运行。我也可以通过exec()运行其他命令,它们工作正常。所以,我只是想知道是否有人知道我可能在OSX上遇到这个问题。

确切的代码可以在https://gist.github.com/1861487

找到

提前感谢您的意见。

2 个答案:

答案 0 :(得分:0)

你确定你在OSX上安装了你提到的php cli,还是仅仅是Apache模块?用终端

中的php -v检查一下

我看起来像这样

php -v

PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

也可以使用php -l确认$ temp_filename设置正确,如果你没有指定路径,可能会导致它挂起。

答案 1 :(得分:0)

我终于有了这个工作。这个问题有几个问题。

首先,使用的PHP是在/ etc / bin而不是MAMP版本。我能够改变它并使用MAMP版本。

其次,要通过CLI使用php,您必须确保使用php的完整路径,而不仅仅是php本身。即在exec()调用中使用/MAMP/bin/php/php5.3.x/php。现在这对我有用。

我上传了我的GIST:https://gist.github.com/1861487