新聞中心
隨著Linux操作系統(tǒng)的日益普及和Web技術(shù)的廣泛應(yīng)用,Shell和PHP成為了Linux系統(tǒng)下開(kāi)發(fā)者們必不可少的工具。本文將為大家介紹如何在Linux系統(tǒng)下使用Shell和PHP技術(shù)。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的淮北網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、Shell
Shell是Linux操作系統(tǒng)下的一種腳本語(yǔ)言,它是與操作系統(tǒng)內(nèi)核交互的方式之一。Shell腳本可以編寫(xiě)成一些批處理文件,用于快速自動(dòng)化完成通常需要一系列命令才能完成的任務(wù),比如安裝軟件包、備份文件等等。
我們可以使用命令行終端操作來(lái)運(yùn)行Shell腳本,還可以將Shell腳本文件添加到系統(tǒng)后臺(tái)自動(dòng)運(yùn)行。下面是一個(gè)簡(jiǎn)單的Shell腳本示例:
“`
#!/bin/sh
echo “Hello, world!”
“`
上面的代碼以`#!/bin/sh`開(kāi)頭,表示使用Bash作為Shell解釋器,緊接著使用`echo`命令打印輸出“Hello, world!”。
2、PHP
PHP是一種廣泛應(yīng)用于Web服務(wù)器編程的腳本語(yǔ)言。它可以以Web服務(wù)器模塊或CGI程序的形式運(yùn)行在服務(wù)器端,生成動(dòng)態(tài)的Web頁(yè)面。PHP腳本也能夠在本地執(zhí)行,作為與Linux系統(tǒng)外部通信的一種方式,比如通過(guò)執(zhí)行Shell腳本或調(diào)用外部程序等。
在Linux系統(tǒng)下,安裝PHP通常只需要一幾個(gè)簡(jiǎn)單的命令:
“`
sudo apt-get update
sudo apt-get install php
“`
以上命令會(huì)在你的Linux系統(tǒng)中安裝PHP。現(xiàn)在,你可以在命令行中運(yùn)行PHP腳本,如下所示:
“`
php -r “echo ‘Hello, world!’;”
“`
上面的代碼使用`-r`參數(shù)執(zhí)行PHP代碼片段,輸出“Hello, world!”到命令行終端。
3、將Shell和PHP結(jié)合使用
Shell和PHP是通用的腳本語(yǔ)言,在一些特定的場(chǎng)合中可以結(jié)合使用。比如,你可能需要編寫(xiě)一個(gè)用于從Web瀏覽器接受輸入,然后在Linux系統(tǒng)下自動(dòng)執(zhí)行一些命令的腳本。
使用PHP編寫(xiě)一個(gè)簡(jiǎn)單的Web頁(yè)面,如下所示:
“`
“`
上面的代碼在Web頁(yè)面中嵌入一個(gè)表單,其中包含一個(gè)輸入框和一個(gè)提交按鈕。用戶可以在輸入框中輸入Linux系統(tǒng)中的Shell命令,并點(diǎn)擊提交按鈕,將命令提交給run_shell_command.php腳本執(zhí)行。
接下來(lái),我們編寫(xiě)run_shell_command.php腳本,用于接收從Web頁(yè)面發(fā)送來(lái)的Shell命令,并在Linux系統(tǒng)中執(zhí)行。腳本如下所示:
“`
$command = $_POST[“command”];
exec($command, $output);
foreach ($output as $line) {
echo “$line
“;
}
?>
“`
上面的代碼首先使用`$_POST`函數(shù)從Web頁(yè)面接收Shell命令,使用`exec`函數(shù)執(zhí)行這個(gè)命令,并將輸出保存到一個(gè)數(shù)組`$output`中。使用`foreach`循環(huán)將輸出逐行輸出到Web瀏覽器上。
現(xiàn)在,我們已經(jīng)學(xué)習(xí)了如何在Linux系統(tǒng)下使用Shell和PHP技術(shù)。希望這篇文章對(duì)你有所幫助,能夠讓你更好地使用Linux系統(tǒng)和Web技術(shù)。
相關(guān)問(wèn)題拓展閱讀:
- 用php作為linux shell怎樣訪問(wèn)數(shù)據(jù)庫(kù)?我在網(wǎng)上找不到相關(guān)資料~~~
- LINUX+NGINX下的PHP shell_exec()函數(shù)執(zhí)行l(wèi)inux命令
用php作為linux shell怎樣訪問(wèn)數(shù)據(jù)庫(kù)?我在網(wǎng)上找不到相關(guān)資料~~~
這個(gè)問(wèn)題解決了嗎?我也遇到這樣的問(wèn)題
估豎虧盯計(jì)是mysql擴(kuò)展模塊沒(méi)有安裝,
你可以在瀏余和覽器中看一下phpinfo(),確定你加載了mysql擴(kuò)展模塊。如果有加載的話,和在Web中的使用是空槐一樣的。
你要在安裝PHP前的./configure里面告訴PHP要支持MySQL
你可能安裝的純手PHP5,寬胡這個(gè)版本慎褲攔默認(rèn)是不支持MySQL的
./configure –prefix=/usr/local/php51 –with-mysql=/usr/local/mysql50/
修改php.ini
;extension=php_mysql.dll
找賣(mài)銷(xiāo)到上面的內(nèi)容去掉前面手信的;去中薯游掉
LINUX+NGINX下的PHP shell_exec()函數(shù)執(zhí)行l(wèi)inux命令
LINUX+NGINX下的PHP shell_exec()函數(shù)執(zhí)行l(wèi)inux命令
環(huán)境說(shuō)明
手燃衫頭有一臺(tái)linux的測(cè)試服務(wù)器,最近因?yàn)闃I(yè)務(wù)需要,需要通過(guò)php訪問(wèn)另一臺(tái)服務(wù)器去執(zhí)行某些命令。
由于另一臺(tái)服務(wù)器已經(jīng)對(duì)這臺(tái)服務(wù)器開(kāi)了私鑰,所以在終端上是可以直接執(zhí)行命令而不需要輸入密碼的。
問(wèn)題
PHP無(wú)法使用exec命令,沒(méi)有任何返回值。
解決途徑
1.php.ini的配置有問(wèn)題。
由于php是7.0以上的版本,取消了安全模式,所以考慮PHP.ini文件配置。
打開(kāi)php配置文件,里面有一行disabel_function的值,此處記錄了禁止運(yùn)行的函數(shù),在里面講exec和shell_exec,system等函數(shù)刪除。
2.權(quán)限問(wèn)題
修改以后PHP可以運(yùn)行部分命令了,但是部分外部程序和命令仍然不能運(yùn)行。使用sudo返回失敗。
于是運(yùn)行“whoami”查看,環(huán)境下php-frm的運(yùn)行角色鎮(zhèn)段唯是www。
于是修改sudoers文件。
vi /etc/sudoers
將www添加到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
下面:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
www ALL=(ALL) NOPASSWD:ALL
然后找到Default requiretty這一行,把他注釋掉
# Default requiretty
ps:意思就是sudo默認(rèn)需要tty終端,注釋掉就可以在后臺(tái)執(zhí)行了.
重啟nginx和php-fpm
service nginx restart
service php-fpm restart
這樣,PHP就可以在需要御培執(zhí)行外部命令的時(shí)候使用sudo利用root身份執(zhí)行命令,而不會(huì)報(bào)錯(cuò)或者執(zhí)行失敗了!
關(guān)于linux shell.php的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
文章標(biāo)題:Linux系統(tǒng)下使用Shell和PHP技術(shù)的教程(linuxshell.php)
文章出自:http://fisionsoft.com.cn/article/djipidg.html


咨詢
建站咨詢
