【问题标题】:Run php script from URL in command line在命令行中从 URL 运行 php 脚本
【发布时间】:2018-02-21 14:43:20
【问题描述】:

我可以使用以下用法从命令行运行 php 脚本吗:

php http://phpfile.php username password config_file

当我运行它时,它说无法打开输入文件http://phpfile.php

如果在 php 脚本中执行此操作的最佳方法是什么?

谢谢

【问题讨论】:

  • 您可以通过curlwget触发远程PHP脚本(包括发送GET和POST参数,如果操作正确的话)。任何发出 HTTP 请求的东西,真的。但是,您将无法访问其底层 PHP 代码,只能访问输出。
  • 如果你想执行带参数的 local PHP 脚本,请参阅php.net/manual/en/reserved.variables.argv.php

标签: php curl cmd


【解决方案1】:

这实际上不可能。您无法在 cli 中执行托管在他人服务器上的 php 脚本。

为什么?

考虑这种情况。 Facebook 有一个 php 脚本,可以向数据库添加评论。那么如果有人从本地命令行执行这个脚本,然后将 cmets 添加到数据库中,结果会是什么?这真的会搞砸系统。或者考虑像文件托管脚本之类的东西。如果任何人都可以从自己的 cli 中删除任何文件,您可以很好地想象结果。

解决方案!

如果满足以下条件,则可以执行该文件:

  • 要么将脚本保存在本地并运行它
  • 或者使用所需数据向脚本发出 get 或 post 请求并使其执行操作。

总结

只有在所有者允许的情况下才能执行(通过 get 和 post 请求)

参考这些

Do a post request using Guide to making requests

【讨论】:

  • 谢谢,我可以从 URL 向文件发出 get 或 post 请求吗?
  • @Sam 是的。你可以
  • @Sam 检查答案中的链接以获取帮助
猜你喜欢
  • 2012-05-03
  • 1970-01-01
  • 2017-12-07
  • 2012-03-16
  • 2014-01-15
  • 1970-01-01
  • 2015-11-11
  • 2012-02-16
相关资源
最近更新 更多