从网页运行PHP CLI脚本

时间:2011-02-11 12:58:39

标签: php command-line-interface

我有一个(可能是愚蠢的)问题。 我有一个用php制作的脚本,用于cli用法。当我从命令行运行它时工作正常,没有问题。问题是我正在处理的网站对托管服务器有ssh限制,我不能在那里运行它。因此我的问题是:如何从另一个可通过Web访问的php运行脚本?已经尝试过exec(),system()等。 主要问题是我需要他$ _SERVER ['SHELL']变量集,当调用是从Web浏览器传来的时候,php当然没有设置它。

任何想法都会被大大贬低,而不是。

2 个答案:

答案 0 :(得分:1)

有很多可能为什么exec()和相关的函数调用不适合你。

  • 您的虚拟主机没有安装PHP-CLI。只是一个网络服务器模块
  • 你需要使用php二进制文件的完整路径,因为缺少一个像样的shell环境。例如。 /usr/bin/php <script>代替php <script>
  • 您的虚拟主机已在非标准路径上安装了PHP-CLI(例如/usr/local/bin/php/opt/php5/php
  • 网络服务器用户无权访问php二进制文件
  • 等等......

答案 1 :(得分:0)

可能会将php脚本更新为包含和cli脚本。

使用

__FILE__ 

检查它是否是文件,然后读取参数。否则什么都不做。

并且作为include只需直接调用你想要的函数。