Ⅰ php 無法執行exec函數該怎麼解決
應該是你配置文件里 把該函數給禁用了!
去 php.ini 文件里 找到 disable_functions 把這個刪掉。
然後重啟服務!
如果是線上環境,建議不這么做
Ⅱ php exec()
php的exec函數用法如下:
exec — 執行一個外部程序
stringexec(string$command[,array&$output[,int&$return_var]])
exec() 執行command 參數所指定的命令。
command:要執行的命令。
output:如果提供了 output 參數,那麼會用命令執行的輸出填充此數組,每行輸出填充數組中的一個元素。數組中的數據不包含行尾的空白字元,例如 字元
請注意,如果數組中已經包含了部分元素,exec()函數會在數組末尾追加內容。
如果不想在數組末尾進行追加,請在傳入 exec() 函數之前對數組使用 unset() 函數進行重置。
return_var:如果同時提供output和return_var 參數,命令執行後的返回狀態會被寫入到此變數。
返回值:
命令執行結果的最後一行內容。
如果需要獲取未經處理的全部輸出數據,請使用 passthru() 函數。
如果想要獲取命令的輸出內容,請確保使用 output 參數。
Ⅲ PHP運行EXEC文件
可以,但需要系統許可權,和啟用PHP的exec函數支持,php配置默認是禁用的。
使用方法:
$str
=
exec("cmd
命令");
$str
返回執行命令後所輸出的字元。
詳細說明可以查詢php手冊
Ⅳ 如何啟用php.ini的exec 許可權
首先是
要關掉
安全模式
safe_mode
=
off
然後在看看
禁用函數列表
disable_functions
=
proc_open,
popen,
exec,
system,
shell_exec,
passthru
這里要把
exec
去掉
重啟
apache
就ok了
Ⅳ 如何配置伺服器的php,使得能成功運行exec函數
如果是命令行使用的話,直接運行即可,如果是apache使用的話,需要重啟apache,如果是nginx配合使用的話,需要重啟php-fpm,exec函數執行命令並不需要安全目錄,只要有執行許可權就可以執行。
Ⅵ 為什麼php中不能用exec()函數。
應該是shell腳本沒寫對。。路徑對不對啊 要雙杠啊。。把代碼貼出來看看。。php的。
Ⅶ php自動採集如何實現
PHP自動採集能一定程度的實現,部分網站的頁面結構存在一定的共通點,比如文章內容頁的標題,不少網站是標記在<h1>里的,實在不行,就採集<title>,絕對能採到,然後、過濾掉title裡面的網站名稱。
採集文章內容就相對麻煩,但是通過層層分析,層層剝離,一定要進行大量的網站分析,寫出多套通用性比較強的採集規則,程序在採集的時候也要進行大量分析。
有幾點是可以肯定的,那就是絕對不能要求採集效果達到為某個網站單獨寫採集規則來的效果好,也絕對不是能匹配任意網站,頂多能匹配部分網站。
Ⅷ 使用php的exec許可權問題
在php.ini在找到這行
disable_functions
=
exec,system,ini_alter,readlink,symlink,leak,proc_open,popepassthru,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,passthru,popen
這些都是禁用的函數,每個函數用逗號分開的,你把exec,刪除了保存就可以了
Ⅸ PHP:exec()函數為什麼沒有反應呢
是因為php的許可權導致的,給文件夾777許可權,或者找到php執行的用戶,給文件夾該用戶的執行許可權