PHP中exec、system等函數調用linux命令問題

  今天在編寫程序的時候須要調用linux命令,在linux上怎麼執行均可以,可是用php執行的時候就是很差用。通過查資料得出如下解決方法,與你們共享如下。
  PHP中提供了幾個調用linux命令的函數,exec、system、passthru,函數使用請參考手冊,這裏不具體介紹。下面我以exec函數爲例具體介紹:
  好比LINUX中修改服務器時間命令是 /bin/date -s ’2010-05-28 13:10′,咱們經過php函數exec調用這個命令執行修改時間exec(「sudo /bin/date -s ’2010-05-28 13:10′」,$out,$status);其中$out是輸出值,$status是返回值0或1,若是返回0則執行成功,返回1則執行失敗。要經過PHP成功執行這個命令(PHP運行用戶非root)須要檢查如下幾點:
  一、首先查看php運行用戶,能夠在web服務器配置文件中查看,或者運行
  
     直接查看。
  好比個人運行用戶是www,編輯/etc/sudoers文件
  vi /etc/sudoers
  首先加上www用戶  www ALL=(ALL)   NOPASSWD:ALL
  下面是我配置的,對自定義的shell腳本進行配置。
   QQ截圖20131120184534
  這表示www用戶運行的時候不用輸入密碼。
  二、查看php.ini中配置是否打開安全模式,主要是如下三個地方
  safe_mode =  (這個若是爲off下面兩個就不用管了)
  disable_functions = 
  safe_mode_exec_dir=
  OVER,下面你就能夠用exec調用linux命令執行了。
相關文章
相關標籤/搜索