首頁 >後端開發 >php教程 >linux下php執行 外部的shell腳本system回傳126

linux下php執行 外部的shell腳本system回傳126

WBOY
WBOY原創
2016-12-01 00:56:422083瀏覽

<code><?php
$command = '/var/www/html/fzip.out  /var/www/html/test  /var/www/html/test.fzip';
//$command = 'ls /var/www/html';
system($command,$return);
exec($command,$out);
//echo $command;
print_r($return);
echo '<br>=================<br>';
print_r($out);?></code>

第一個$command是自己的shell腳本,目的是為了把第二個參數的資料夾 壓縮到第三個檔案的路徑。說下目前的情況。
1 php.ini 沒開安全模式,可以正常呼叫ls等指令。
2 system執行這個指令的時候回傳126,exec第二參數是空。
3 已經給了產生檔案的html目錄777權限了,被壓縮的test目錄也是777權限
4 直接用命令列可以執行這個指令

求解還有需要進行什麼配置 才可以執行這樣的自訂腳本嗎? ?

回覆內容:

<code><?php
$command = '/var/www/html/fzip.out  /var/www/html/test  /var/www/html/test.fzip';
//$command = 'ls /var/www/html';
system($command,$return);
exec($command,$out);
//echo $command;
print_r($return);
echo '<br>=================<br>';
print_r($out);?></code>

第一個$command是自己的shell腳本,目的是為了把第二個參數的資料夾 壓縮到第三個檔案的路徑。說下目前的情況。
1 php.ini 沒開安全模式,可以正常呼叫ls等指令。
2 system執行這個指令的時候回傳126,exec第二參數是空。
3 已經給了產生檔案的html目錄777權限了,被壓縮的test目錄也是777權限
4 直接用命令列可以執行這個指令

求解還有需要進行什麼配置 才可以執行這樣的自訂腳本嗎? ?

最後發現被selinux阻止執行,留個結果,大家參考下。表現就是在php-cli模式下 可以正常執行腳本,在網頁中執行回傳126 加了sudo回傳 1

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn