我正在尝试从PHP中的AJAX调用运行php CLI。我在Windows下在WAMP下工作正常,但是当我尝试在OSX下运行相同的代码时,它会挂起在exec()命令上。它试图在命令行上运行的实际字符串在终端中完美运行。我也可以通过exec()运行其他命令,它们工作正常。所以,我只是想知道是否有人知道我可能在OSX上遇到这个问题。
确切的代码可以在https://gist.github.com/1861487
找到提前感谢您的意见。
答案 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