Run a PHP CLI script from a webpage

2019-02-24 04:09发布

I have a (possibly dumb) question. I have a script made in php, constructed for cli usage. Works fine when I run it from the command line, no problem there. The problem is that the site I'm working on has ssh restrictions on the hosting server and I cannot ssh there to run it. Hence my question: how can I run the script from another php that is web-accessible? Already tried with exec(), system(), etc. The main problem is that I need he $_SERVER['SHELL'] variable set, and when the call is comming from a web browser of course php doesn't set it.

Any ideeas will be greatly apreciated, thanx.

2条回答
ゆ 、 Hurt°
2楼-- · 2019-02-24 04:56

There are many possibilities why exec() and related function calls are not working for you.

  • Your webhost does not have PHP-CLI installed. Just a webserver module
  • You need to use the full path to the php binary for lack of a decent shell environment. E.g. /usr/bin/php <script> instead of php <script>.
  • Your webhost has installed PHP-CLI on a non-standard path (e.g. /usr/local/bin/php, or /opt/php5/php)
  • The webserver user does not have rights to access the php binary
  • Et cetera..
查看更多
看我几分像从前
3楼-- · 2019-02-24 04:57

maybe update the php script to be both an include and a cli script.

use

__FILE__ 

to check if it's a file, then read the params. otherwise do nothing.

and as an include just call the function you want directly.

查看更多
登录 后发表回答