cakePHP脚本将全部功能

时间:2012-12-12 14:03:10

标签: cakephp-2.0

Hie ..我想要一个cakePHP脚本的帮助,该脚本将在指定的时间间隔后刷新或调用控制器中的函数。

public function testwebservices(){
    ini_set("soap.wsdl_cache_enabled","0");  
    $options = array( 
    'soap_version'=>SOAP_1_2,           
    'exceptions'=>true,                 
    'trace'=>1,                     
    'cache_wsdl'=>WSDL_CACHE_NONE       
);
$wsdl = "http://example.com/service.asmx?wsdl";
$client = new SoapClient($wsdl,$options);
$lastrec = rec5000;         
$rec = $client->GetReceipt(array('txnRef'=>$lastrec));
$result = $rec->GetReceiptRez;

我想调用上面的函数,以便在指定的时间后自动执行。

提前谢谢

1 个答案:

答案 0 :(得分:0)

你最好的选择是使用cron-task(如果你使用的是Unix / Linux机器)。 cron任务可以用几种方式编写。

首先:您可以直接使用PHP解释器调用脚本,并且您在cron中运行的脚本可能看起来像

#!/bin/sh
/path/to/php /full/path/to/script.php

但是,您需要注意,您将无法获得框架的好处。这意味着您正在使用的任何框架实用程序,您必须自己加载到script.php文件中。如果这太多了(加载所有必需的工具),那么你可以用另一种方式。

第二个:您可以创建一个端点,例如/test/web-service,然后您可以设置一个cron来对该脚本发出Web请求,该脚本将检查Web服务是否正常运行。在这种情况下,您可能会看到一个简单的cURL请求:

#!/bin/sh
curl http://mysite.com/test/web-service

这种方法的好处是你可以把它放在任何机器上(如果你公开了URL)并且你得到了加载你的框架(在这种情况下是cakePHP)并且所有的工具都可用的好处给你。