Php 使用curl创建url
我在MediaTemple上托管了一个php Codeigniter上的应用程序,我希望有一个运行控制器的cron作业,支持人员告诉我使用CURL,我尝试过使用,但没有成功,例如:Php 使用curl创建url,php,curl,ssh,cron,mediatemple,Php,Curl,Ssh,Cron,Mediatemple,我在MediaTemple上托管了一个php Codeigniter上的应用程序,我希望有一个运行控制器的cron作业,支持人员告诉我使用CURL,我尝试过使用,但没有成功,例如: curl http://mydomain.com/admin/action/get 我的控制器将一些信息插入到数据库中,curl不会显示错误,但只有在浏览器上直接运行控制器时,插入才会发生。不需要身份验证 有什么想法吗 谢谢在人们能够真正帮助你之前,你需要提供更多关于正在发生的事情的信息。请看这个 一些出发点: 从
curl http://mydomain.com/admin/action/get
我的控制器将一些信息插入到数据库中,curl不会显示错误,但只有在浏览器上直接运行控制器时,插入才会发生。不需要身份验证 有什么想法吗
谢谢在人们能够真正帮助你之前,你需要提供更多关于正在发生的事情的信息。请看这个 一些出发点:
curl
如何提供它。如果没有,请注意您允许Internet上的任何人启动此过程,这可能会导致拒绝服务攻击或其他安全问题只需创建一个cronactivator.php文件,并将您的cronjob指向该文件。不需要卷发
<?php
//for php4 use fopen
$html_data = file_get_contents('http://www.yoursite.com/framework/controller/action', 'r');
echo "DONE!";
exit;
?>
@seth-我不在linux机器上,因此无法真正测试这一点,但您的问题是,curl本身未安装,或者curl需要某些特定的开关才能工作 如果您仍然希望它工作,首先通过服务器的SSH(在Windows上使用Putty)让它工作,或者您可以编写一个脚本来测试它
<?php
$code=system('curl --help');
echo '<br><br> Exit Code: '.$code;
?>
并不是说,如果它写入除0以外的任何其他错误代码,那么您就存在CURL问题
另一方面,您可以使用
wget
。与CURL(afaik)相比,它在Linux上更受支持。虽然我是CURL的忠实粉丝,但碰巧的是,wget
在这类工作中更受欢迎。或者。。。您可以编写一个打算在CLI上运行的PHP脚本,并将cron任务直接分配给PHP文件:
php -f /path/to/my/file.php
下面介绍如何在CLI上使用PHP。代码点火器有两个功能
这就是说,有一种方法可以确定请求是否有进展。(除了保存请求的输出)CodeIgniter配备了优秀的日志记录方法。您可以将application/config/config.php中的
$config['log\u threshold']
设置为类似3
的值。在两个浏览器中运行请求,然后在CLI中运行一次。然后在应用程序/日志文件夹中查找当天的日志文件。在文件中查找您请求的URL。应该有两个地方记录它。如果日志文件中的请求数少于您的请求数,那么您就知道CURL有问题。否则,您就会知道应用程序有问题。我的控制器将一些信息插入数据库,卷曲不会显示错误,但只有在浏览器上直接运行控制器时,插入才会发生。不需要身份验证。curl
不显示错误;它是否显示控制器产生的输出?(如果有,也就是说。如果没有,您可能应该临时添加一些进行调试。)比如,如果您执行curlhttp://www.google.com/
,您将看到curl
应该向您显示检索到的网页内容。您始终可以尝试wget而不是curl。这假设启用了allow\u url\u fopen
,这通常是关闭的。使用PHP的CURL来代替……哦,糟糕,你最终还是使用了CURL;)