① 如何通過php頁面執行shell腳本
如果php允許那麼大的許可權,可以用 exec 函數, 不過這樣做很危險。
換個思考方式, 可以php向某個文件寫入一個指定數據, shell腳本定時監測這個文件,然後判斷內容,再執行指定腳本
② linux如何用shell運行一個php腳本
在 Linux 下執行 php 腳本時通常是使用以下命令(視php安裝路徑而定):
/usr/local/php/bin/phptest.php
另外,為簡化輸入可把此php執行程序 到系統命令目錄下:
cp/usr/local/php/bin/php/usr/sbin/
驗證:輸入以下命令,如正確獲取 php 版本,說明操作成功。
php-v
參考:
http://www.360doc.com/content/10/1124/15/4330887_72030254.shtml
③ php如何實時顯示shell腳本的輸出
PHP 7 中 use 可以在一句話中聲明多個類或函數或 const 了:
use some\\namespace\\{ClassA, ClassB, ClassC as C};
use function some\\namespace\\{fn_a, fn_b, fn_c};
use const some\\namespace\\{ConstA, ConstB, ConstC};
但還是要寫出每個類或函數或 const 的名稱(並沒有像 Python 一樣的 from some import * 的方法)。
④ 如何讓php執行shell
php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼
例子:system("/usr/local/bin/webalizer/webalizer");
⑤ php 執行 shell 命令,許可權不足,怎麼辦
換其他方式吧,php是www用戶去訪問的,可以執行shell的話,不安全
⑥ 請問什麼是shell,php程序員對它要求程度如何
一般shell多是指命令行式. 例如windows下的bat . linux下的bash .
在做系統維護, 文件處理分析的時候會用到.
php 程序員, 多少是需要了解一些的.
例如: 安裝/重啟apache , mysql . 配置下網路ip , 查看php日誌等.
了解一點就好(當然用人單位自然是希望越熟悉越好.)
總之 , 相對於php程序員來說. 熟悉shell 是個加分項 .
⑦ 如何將PHP作為Shell腳本語言使用
我們都知道,PHP是一種非常好的動態網頁開發語言(速度飛快,開發周期短……)。但是只有很少數的人意識到PHP也可以很好的作為編寫Shell腳本的語言,當PHP作為編寫Shell腳本的語言時,他並沒有Perl或者Bash那麼強大,但是他卻有著很好的優勢,特別是對於我這種熟悉PHP但是不怎麼熟悉Perl的人。
要使用PHP作為Shell腳本語言,你必須將PHP作為二進制的CGI編譯,而不是Apache模式;編譯成為二進制CGI模式運行的PHP有一些安全性的問題,關於解決的方法可以參見PHP手冊(http://www.php.net)。
一開始你可能會對於編寫Shell腳本感到不適應,但是會慢慢好起來的:將PHP作為一般的動態網頁編寫語言和作為Shell腳本語言的唯一不同就在於一個Shell腳本需要在第一行生命解釋本腳本的程序路徑:
#!/usr/local/bin/php -q
我們在PHP執行文件後面加入了參數「-1」,這樣子PHP就不會輸出HTTP Header(如果仍需要作為Web的動態網頁,那麼你需要自己使用header函數輸出HTTP Header)。當然,在Shell腳本的裡面你還是需要使用PHP的開始和結束標記:
現在讓我們看一個例子,以便於更好的了解用PHP作為Shell腳本語言的使用:
#!/usr/local/bin/php -q
print("Hello, world!\n");
?>
上面這個程序會簡單的輸出「Hello, world!」到顯示器上。
一、傳遞Shell腳本運行參數給PHP:
作為一個Shell腳本,經常會在運行程序時候加入一些參數,PHP作為Shell腳本時有一個內嵌的數組「$argv」,使用「$argv」數組可以很方便的讀取Shell腳本運行時候的參數(「$argv[1]」對應的是第一個參數,「$argv[2]」對應的是第二個參數,依此類推)。比如下面這個程序:
#!/usr/local/bin/php -q
$first_name = $argv[1];
$last_name = $argv[2];
printf("Hello, %s %s! How are you today?\n", $first_name, $last_name);
?> 具體詳細的你可以向我一樣在後盾人多看看就明白了,希望能幫到你,努力(๑><๑)
⑧ 我在php中執行shell命令不成功,但是直接命令行執行可以。
passthru的返回值是void,所以echo無效
要查看命令的返回值,應設置passthru的第二個參數
你可以試下
⑨ php如何執行shell腳本
這些shell命令一般服務商是不允許運行的,要不然伺服器很快就讓攻擊掉了
⑩ php和linux shell的關系
這個問題不是菜鳥問題。
shell是相對於kernel來說的,可以認為是用戶對系統的操作介面(界面)。現在的shell有csh、bash、sh等。
tty可以認為是字元終端,用戶在終端,通過輸入命令來操作系統。接收輸入並進行解析的程序就是shell。