簡體   English   中英

如何從命令行執行php腳本?

[英]How to execute php script from the command line?

我有以下地址C:\\Denwer\\home\\localhost\\www\\upload_record_test.php的php腳本。 該腳本顯示一些文本。 但是,如果我嘗試通過命令php C:\\Denwer\\home\\localhost\\www\\upload_record_test從命令行執行此腳本, php C:\\Denwer\\home\\localhost\\www\\upload_record_test收到帶有很多錯誤的html響應以及消息Call to undefined function curl_init() 編碼:

<?php
    $_POST_DATA=array();
    $_POST_DATA['id']='AccountPagesView.a_book/45';
    $_POST_DATA['old_value']='1';
    $_POST_DATA['value']='2';
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://localhost/index.php/welcome/update_record');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST_DATA);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    $real_result=curl_exec($ch);
    $expected_result=array('result'=>'LOGIN', 'old_value'=>'1');
    $real_result=json_decode($real_result, true);
    if (count(array_intersect($real_result, $expected_result))==2)
    {
        echo "THE TEST HAS BEEN COMPLETED";
    }
    else 
    {
        echo "THE TEST HASN'T BEEN COMPLETED<br/>";
        echo "RESULT:";
        print_r($real_result);
        echo "<br/>EXPECTED RESULT:";
        print_r($expected_result);
    }
?>

請告訴我,我如何從命令行執行此腳本並僅獲取結果文本? 提前致謝。

檢查卷曲是否正確安裝。 如果沒有,請檢查來自php.net的說明。

如果是,則可能未啟用您的curl模塊。 您必須啟用curl模塊,才能使用curl方法。 您可以通過編輯php.ini並啟用該模塊來實現。

在Windows上:

  • 打開您的php.ini文件
  • ;extension=php_curl.dll查找行
  • 刪除; infront並保存文件
  • 重啟Apache服務器

它應該工作。

更新:

有時safe_mode可能會導致此問題。 轉到ini文件並禁用safe_mode

[php.ini]
safe_mode = Off

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM