新聞中心
在當(dāng)今高度信息化的時代,自動化處理已經(jīng)成為組織或公司日常工作的基本需求。而Linux系統(tǒng)和PHP編程語言都是廣泛應(yīng)用于自動化處理的兩個重要工具。本文將著重介紹如何使用的功能。

十余年的章丘網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整章丘建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“章丘網(wǎng)站設(shè)計”,“章丘網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
1. Linux腳本介紹
Linux腳本是在Linux系統(tǒng)中執(zhí)行的一系列命令。與命令行命令不同,Linux腳本可以包含多個命令,并且可以通過執(zhí)行腳本來一次性執(zhí)行所有命令。Linux腳本可以大大簡化一些繁瑣的Linux操作。
Linux腳本通常是由自定義函數(shù)、條件語句、循環(huán)結(jié)構(gòu)等組成,可以完成諸如配置管理、自動化部署、備份維護(hù)等各種自動化任務(wù)。在大多數(shù)情況下,Linux腳本都需要在終端中手動執(zhí)行。但是,當(dāng)需要頻繁重復(fù)執(zhí)行某個腳本時,手動執(zhí)行就變得比較麻煩了。這個時候,我們可以使用PHP編程語言來編寫一個調(diào)用Linux腳本的腳本。
2. PHP介紹
PHP是一種腳本語言,主要用于在Web服務(wù)器上創(chuàng)建動態(tài)Web頁面。PHP能夠處理HTML表單、連接數(shù)據(jù)庫、管理Cookies和sessions等。PHP具有易學(xué)、免費、兼容多種操作系統(tǒng)等優(yōu)點,在Web應(yīng)用程序開發(fā)中被廣泛使用。
PHP可以嵌入到HTML頁面中,以及與其他編程語言一起工作,例如JavaScript、CSS、HTML、MySql等。使用PHP,我們可以提供動態(tài)內(nèi)容,例如生成HTML表單、動態(tài)圖像、PDF文件等。PHP還可以在Linux系統(tǒng)中,與Linux腳本一起工作,實現(xiàn)更多更復(fù)雜的操作。
3. 實現(xiàn)php調(diào)用linux腳本
接下來,我們來介紹一些使用PHP調(diào)用Linux腳本的方法。
(1)使用exec函數(shù)
exec函數(shù)是PHP提供的一個執(zhí)行外部命令的函數(shù),我們可以在其中傳遞需要執(zhí)行的Linux腳本。exec函數(shù)返回的是腳本執(zhí)行后的輸出,我們可以利用這個特性來獲取腳本的返回值。
我們可以使用以下示例來測試:
“`php
// shell腳本文件路徑
$shell = “/var/www/html/script.sh”;
// 執(zhí)行腳本命令
$result = exec($shell, $output, $code);
// 輸出腳本返回結(jié)果
echo $result;
“`
在以上示例中,我們使用exec函數(shù)調(diào)用名為script.sh的腳本,并將執(zhí)行結(jié)果存儲在變量$result中。同時,我們也將輸出結(jié)果存儲在變量$output中并將錯誤代碼存儲在變量$code中。
(2)使用system函數(shù)
system函數(shù)是和exec函數(shù)一樣用于執(zhí)行命令的函數(shù),但是和exec函數(shù)不同的是,system函數(shù)只返回腳本的最后一行輸出,也就是說,其他輸出都會被忽略。
我們可以使用以下示例來測試:
“`php
// shell腳本文件路徑
$shell = “/var/www/html/script.sh”;
// 執(zhí)行腳本命令
$result = system($shell, $code);
// 輸出腳本返回結(jié)果
echo $result;
“`
在以上示例中,我們使用system函數(shù)調(diào)用名為script.sh的腳本,并將執(zhí)行結(jié)果存儲在變量$result中。同時,我們也將錯誤代碼存儲在變量$code中。
(3)使用passthru函數(shù)
passthru函數(shù)與exec函數(shù)和system函數(shù)的區(qū)別在于,passthru函數(shù)將腳本的輸出直接輸出到瀏覽器中。我們可以使用以下示例來測試:
“`php
// shell腳本文件路徑
$shell = “/var/www/html/script.sh”;
// 執(zhí)行腳本命令
passthru($shell, $code);
“`
在以上示例中,我們使用passthru函數(shù)調(diào)用名為script.sh的腳本,并將錯誤代碼存儲在變量$code中。passthru函數(shù)會將腳本的所有輸出直接輸出到瀏覽器。
(4)使用shell_exec函數(shù)
shell_exec函數(shù)和exec函數(shù)的使用方式相似,但是不同的是,shell_exec函數(shù)只返回輸出,而不返回執(zhí)行碼。
我們可以使用以下示例來測試:
“`php
// shell腳本文件路徑
$shell = “/var/www/html/script.sh”;
// 執(zhí)行腳本命令
$result = shell_exec($shell);
// 輸出腳本返回結(jié)果
echo $result;
“`
在以上示例中,我們使用shell_exec函數(shù)調(diào)用名為script.sh的腳本,并將執(zhí)行結(jié)果存儲在變量$result中。
4.
在本文中,我們介紹了如何使用PHP調(diào)用Linux腳本的方法,包括使用exec函數(shù)、system函數(shù)、passthru函數(shù)和shell_exec函數(shù)等。這些方法都具有各自的特點和使用場景,可以根據(jù)需要選擇適合的方法來實現(xiàn)自動化處理。同時,搭建一個Linux系統(tǒng)的開發(fā)環(huán)境也是非常重要的。只有在一個良好的開發(fā)環(huán)境下,才能更好地完成我們的工作目標(biāo)。
相關(guān)問題拓展閱讀:
- ASP.NET 如何調(diào)用linux下的Shell腳本程序?
ASP.NET 如何調(diào)用linux下的Shell腳本程序?
Apache+Mysql+PHP(含GD,libpng,jpeg,zlib,freetype,freeTDS,awstats)安裝與配置
作者:swingcoder(at)msn(dot)com
日期:
一、前言
安裝的問題很多人都之一次要面對的,既簡單又麻煩。很多老鳥都對如何安裝的問題不屑,說:問來問去都是安裝的問題。
希望這的貼子對新手能有點幫助,老鳥的話,就不用看了,免得拍磚。謝謝~~
本文所有軟件均使談和緩用最新版(至發(fā)布日期),但是又有人說了,什么版本不穩(wěn)定啦,這不好那不好啦。Cut!就此打住,我也不想為這些問題糾纏不清了,此文僅僅是安裝。先讓大家用起來,具體的優(yōu)化安全以后再說,應(yīng)了一句話“先讓一部分人先富起來!“。
雖然仍然是重復(fù)勞動,但至少是含模自己的經(jīng)驗,不想丟了,寫完后自己以后也可以看棚派看,順便整理整理。
二、目的
安裝Apahe與MySQL,將php安裝成支持gif,png,jpeg,freetype,mssql,mysql,需要更強大的圖形處理能力,可安裝ImageMagic??梢苑治龃罅髁烤W(wǎng)站日志(更大流量的網(wǎng)站推薦用Webalizer,不過界面簡陋:-,)。
二、安裝環(huán)境描述
操作系統(tǒng):GNU Linux kernel 2.4.20
web服務(wù)器:Apache httpd-2.0.48 下載:
數(shù)據(jù)庫服務(wù)器:mysql-standard-4.0.17-pc-linux-i686 下載:
腳本程序語言:PHP Version 4.3.5RC5-dev 下載:
其它庫文件:
ZLIB:zlib-1.2.1.tar.gz 下載:
FreeType:freetype-2.1.5.tar.gz 下載:
PNG:libpng-1.2.5.tar.gz 下載:
JPEG:jpegsrc.v6b.tar.gz 下載:
GD:gd-2.0.18.tar.gz 下載: #2.0不支持GIF?好像限制又過期了
FreeTDS:freetds-stable.tgz 下載:
Cronolog:cronolog-1.6.2.tar.gz 下載:
Awstats:awstats-5.9.tgz 下載:
三、安裝步驟
1、安裝Apache
tar xzvf httpd-2.0.48.tar.gz
cd httpd-2.0.48
./configure –prefix=/usr/local/apache –enable-so
make
make install
echo “/usr/local/apache/bin/apachectl start&” >> /etc/rc.d/rc.local
#啟動
/usr/local/apache/bin/apache start
2、安裝MySQL
tar xzvf mysql-standard-4.0.17-pc-linux-i686.tar.gz
#此處下載的的二進(jìn)制分發(fā)包,故沒有./configure步驟
mv mysql-standard-4.0.17-pc-linux-i686 /usr/local/mysql
cd /usr/local/mysql
#下步cp要看服務(wù)器硬件環(huán)境,可選all,medium,large,huge
cp support-files/my-medium.cnf /etc/my.cnf
echo “/usr/local/mysql/bin/safe_mysqld –user=mysql&” >> /etc/rc.d/rc.local
groupadd mysql
useradd -g mysql mysql
./scripts/mysql_install_db
chown -R mysql.mysql data
#啟動
/usr/local/mysql/bin/safe_mysqld –user=mysql&
3、安裝PHP
A、先安裝支持包(注意安裝順序)
建立初始目錄:
#php目錄
mkdir /usr/local/php
mkdir /usr/local/php/modules
#freetype目錄
mkdir /usr/local/php/modules/freetype
#jpeg目錄
mkdir /usr/local/php/modules/jpeg6
mkdir /usr/local/php/modules/jpeg6/bin
mkdir /usr/local/php/modules/jpeg6/lib
mkdir /usr/local/php/modules/jpeg6/include
mkdir /usr/local/php/modules/jpeg6/man
mkdir /usr/local/php/modules/jpeg6/man/man1
#gd目錄
mkdir /usr/local/php/modules/gd
#freeTDS目錄
mkdir /usr/local/php/modules/freetds
A1、安裝zlib
tar xzvf zlib-1.2.1.tar.gz
cd zlib-1.2.1
#不要用–prefix自定義安裝目錄,影響gd的安裝
./configure
make
make install
A2、安裝freetype
tar xzvf freetype-2.1.5.tar.gz
cd freetype-2.1.5
./configure –prefix=/usr/local/php/modules/freetype
make
make install
A3、安裝libpng
tar xzvf libpng-1.2.5.tar.gz
#不要用–prefix自定義安裝目錄,影響gd的安裝
cd libpng-1.2.5
cp scripts/makefile.std makefile
make test
make install
A3、安裝jpeg
tar xzvf jpegsrc.v6b.tar.gz
./configure –prefix=/usr/local/php/modules/jpeg6 –enable-shared –enable-static
make
make install
A4、安裝GD
tar xzvf gd-2.0.18.tar.gz
./configure –prefix=/usr/local/php/modules/gd –with-jpeg=/usr/local/php/modules/jpeg6 –with-png –with-zlib –with-freetype=/usr/local/php/modules/freetype
make
make install
A5、安裝FreeTDS
tar zxvf freetds-stable.tgz
cd freetds-stable
./configure –prefix=/usr/local/php/modules/freetds
make
make install
B、安裝Cronolog
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install
C、安裝PHP
tar xzvf php4-STABLE-latest.tar.tar
cd php4-STABLE-latest
./configure –prefix=/usr/local/php –with-jpeg=/usr/local/php/modules/jpeg6 –with-zlib –with-png –with-gd=/usr/local/php/modules/gd –with-freetype=/usr/local/php/modules/freetype –with-mssql=/usr/local/php/modules/freetds –enable-magic-quotes –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql
make
make install
四、一些特別的配置
1、配置Apache
修改httpd.conf文件:
#增加處理性能
MaxClient 250
StartServers 10
#設(shè)置PHP
LoadModule php4_module libexec/libphp4.so
#AddModule mod_php4.c
AddType application/x-httpd-php .php
#This directive configures what you return as the Server HTTP response Header
ServerTokens Minor
#Optionally add a line containing the server version and virtual host name to server-generated pages
ServerSignature Off
#設(shè)置日志存儲格式
CustomLog “|/usr/local/in/cronolog /usr/local/apache/logs/access_%y%m%d.log” combined
2、配置Awstat
#!!此程序需要perl的支持!!
tar xzvf awstats-5.9.tgz
mkdir /usr/local/apache/cgi-bin/webstat/
mkdir /usr/local/apache/weblog/
cd awstat/www/
cp icon/* /usr/local/apache/icons/
cp cgi-bin/ /usr/local/apache/cgi-bin/webstat/
cd /usr/local/apache/cgi-bin/webstat/
cp awstat.model.conf awstat.
#修改awstat.中下…?用默認(rèn)值:
vi awstat.
LogFile=”/usr/local/apache/logs/access_%YY%MM%DD.log”
SiteDomain=””
DirData=”/usr/local/apache/weblog/”
DirIcons=”/icons”
#修改awstats.pl為0777
chmod 0777 awstats.pl
#設(shè)置計劃任務(wù)
crontab -e
55 23 * * * (/usr/local/apache/cgi-bin/webstat/awstats.pl -update -config=>/dev/null)
3、配置MySQL
修改root用戶密碼
/usr/local/mysql/bin/mysqladmin -u root password ‘your-new-password’
刪除host為%和密碼為空的用戶
調(diào)整性能:
max_connections=250 #default is 100 #影響pconnect數(shù)量
table_cache=128 #default 64,調(diào)整值根據(jù)實際情況而定,一般如果Open_tables 達(dá)到table_cache值,且Opened_tables仍在快速增長,要增大該值。
key_buffer_size= #根據(jù)實際情況而定,一般Key_reads : Key_read_requests小于1:1000
4、配置PHP
默認(rèn)安裝的PEAR有,如果用不上的話可以刪除:
DB – installed: 1.6.0
HTTP – installed: 1.2.2
Mail – installed: 1.1.2
Net_TP – installed: 1.2.3
Net_Socket – installed: 1.0.1
XML_Parser – installed: 1.0.1
XML_RPC – installed: 1.0.4
更多信息請參考:
五、常見問題
1、安裝PHP
a、checking lex output file root… ./configure: line 2425: lex: command not found
configure: error: cannot find output from lex; giving up
缺少flex-2.5.4a-29.i386.rpm,從linux 9.0光盤中找到flex-2.5.4a-29.i386.rpm,安裝,重新編譯php,ok.
b、ext/gd/gd.lo(.text+0x875): undefined reference to `gdFreeFontCache’
*** Error code 1
php.net官方人士說是安裝了不同版本的GD或者推薦安裝低版本的php,但我是安裝了高于php-4.3.4.tar.gz后解決了此問題。
參考:
2、安裝jpeg
一定要選擇./configure –enable-shared –enables-static –prefix=/usr/local方式安裝,否則不能make install !!!
若沒有裝libtool-1.4.3-5.i386.rpm,不能創(chuàng)建共享libjpeg庫,即不是能–enable-shared指令編譯。
裝libtool之前要裝m4-1.4.1-13.i386.rpm,automake,autoconf及
若您下載的包為zip格式j(luò)pegsr6.zip時,./configure 時出現(xiàn): bad interpreter:,原因是dos換行跟unix換行符不同造成的,在editplus在轉(zhuǎn)換格式后,jpeg-6a安裝成功
3、安裝libpng
安裝之前要先安裝zlib, 且不有自定義目錄,否則裝gd時找不到庫文件。
4、安裝MySQL
此文中因為安裝的是二進(jìn)制分發(fā)包,幫沒有configure,如果是源碼包,依照如下格式安裝。
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> tar xzvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> ./configure –prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/data
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe –user=mysql &
五、參考資源
1、apache
2、mysql
3、php
4、GD
5、FreeTDS
6、Cronolog
7、Awstats
8、Webalizer
六、總結(jié)
上述僅僅是簡單的安裝跟一些簡單的配置,肯定存在不少漏洞,希望大家多多留心,任何程序和配置,最關(guān)鍵的在決定因素往往在于--“配置者”本身。希望對有需要的人有一定的幫助。
如果你不想裝apache可以略過apache安裝那部分
關(guān)于php調(diào)用linux腳本的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
新聞標(biāo)題:PHP實現(xiàn)調(diào)用Linux腳本(php調(diào)用linux腳本)
網(wǎng)站路徑:http://www.dlmjj.cn/article/djcgpso.html


咨詢
建站咨詢
