【问题标题】:How to execute PHP script from CLI in browser-like way using wget or curl如何使用 wget 或 curl 以类似浏览器的方式从 CLI 执行 PHP 脚本
【发布时间】:2016-11-16 17:07:17
【问题描述】:

我有 PHP 脚本,通过浏览器可以正常工作

http://example.com/index.php?option=com_acymailing&view=api

是否可以使用 Linux CLI 中的 WGET 或 CURL 调用相同的方法(忽略任何输出,只需“像浏览器一样”运行并关闭)?

提前感谢任何提示尝试。

来自 Joomla AcyMailing API 的脚本,这里是完整的内容

<?php

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
 include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
 define('JPATH_BASE', dirname(__FILE__));
 require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';
$app = JFactory::getApplication('site');


if(!include_once(rtrim(JPATH_ADMINISTRATOR,DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acymailing'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')){
 echo 'This code can not work without the AcyMailing Component';
 return false;
 }
$mailer = acymailing_get('helper.mailer');
$mailer->report = true;
$mailer->trackEmail = true;
$mailer->autoAddUser = false;
$mailer->sendOne(11,'test@example.com');

?>

【问题讨论】:

  • 简短回答:是的。长答案:你试过吗?
  • 如果你依赖 JavaScript 来运行,那么没有。否则是的。
  • 如果是的话很好。所以我的逻辑问题如何?然后我试试。
  • 纯 php 可以......这是你可能正在寻找的东西 stackoverflow.com/questions/6965541/… 并且你需要像 $ wget -O - -q http://www.somesite.com/your.php &gt;&gt; log.txt 这样的东西 log.txt 将包含结果
  • 很遗憾没有。我已经添加了这个脚本 - 也许它会解释一些东西。

标签: php curl command-line-interface wget


【解决方案1】:

是的,可以通过多种方式实现。 如果你想忽略任何输出:

wget --quiet -O /dev/null http://whatever-url/script.php?bla

【讨论】:

  • 很遗憾没有。从浏览器运行时 - 此脚本会向单个用户生成电子邮件。使用您的方式从 CLI 运行时 - 不是。
  • @Serge 然后你的脚本正在做某种检查或期待输入。在您发布更多相关信息之前,我们无法为您提供帮助。
  • 夏洛特,这正是我的想法。可能检查 remote_addr 的使用情况。或其他一些不起眼的 $_SERVER 远程地址变体
  • 另外,首先不要丢弃输出;只需使用 wget [url],并检查输出是否有错误。
  • 是的,经过一些测试,我发现脚本应该自行调整以与 curl 或 wget 一起使用,所以我删除了我的问题,因为这不是 curl 或 wget 的问题...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多