執行php exec system shell_exec沒結果?一文搞定!

2022-11-22 18:01:09
本文給大家介紹有關php exec system shell_exec無法執行的問題,主要內容是講解執行php exec() system() shell_exec()沒有結果,結果為NULLD的方法,希望對需要的朋友有所幫助~

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

php exec() system() shell_exec()無法執行,沒有結果,結果為NULLD,解決辦法

伺服器上程式碼 index.php:

<?php    
$cmd = 'php -v';    
exec($cmd, $arr);    
echo '<pre>'    
var_dump($arr);
登入後複製

瀏覽器存取後,列印結果是:NULL

說明伺服器沒有開啟php警用了exec();【推薦學習:】

解決辦法:

1、加入函數檢視當前執行的使用者:

<?php    
var_dump(get_current_user());    
$cmd = 'php -v';    
exec($cmd, $arr);    
echo '<pre>'    
var_dump($arr);
登入後複製

顯示:root

2、到伺服器修改檔案許可權:

$ chmod 777 index.php
登入後複製

檢視index.php的所屬使用者及許可權:

$ ll
登入後複製

結果:

-rwxrwxrwx 1 root root    1595 Sep 20 10:18 index.php
登入後複製

3、檢視php.ini 是否禁用了這些函數:

$ cd /usr/local/php/etc
$ vim php.ini
登入後複製

找到disable_functions =


把exec, system,exec_shell去掉,用到哪個去哪個;

4、重新啟動php服務,這一步很重要:

$ /etc/init.d/php-fpm restart
登入後複製

然後進行測試,瀏覽器存取伺服器結果:

大部分還是因為php.ini禁用exec函數,和檔案的執行許可權問題。

以上就是執行php exec system shell_exec沒結果?一文搞定!的詳細內容,更多請關注TW511.COM其它相關文章!