【发布时间】:2011-02-11 12:58:39
【问题描述】:
我有一个(可能是愚蠢的)问题。 我有一个用 php 编写的脚本,专为 cli 使用而构建。当我从命令行运行它时工作正常,那里没有问题。问题是我正在处理的站点对托管服务器有 ssh 限制,我不能在那里运行 ssh。因此我的问题是:如何从另一个可通过网络访问的 php 运行脚本?已经尝试使用 exec()、system() 等。 主要问题是我需要他设置 $_SERVER['SHELL'] 变量,当调用来自网络浏览器时,当然 php 没有设置它。
任何想法都将不胜感激,谢谢。
【问题讨论】:
-
exec()应该是要走的路。为什么它不起作用?会发生什么? -
佩卡说的。请发布您用于 exec()、system() 等的代码。
-
它不运行不是问题,问题是它与 apache-cgi 解释器一起运行,而不是 php-cli 解释器。在脚本里面我有一个条件
if(isset($_SERVER['SHELL']))之类的东西。在网络可访问的脚本中,它只是一个exec("/usr/bin/php ./console.php");东西
标签: php command-line-interface