在当今高度信息化的时代,自动化处理已经成为组织或公司日常工作的基本需求。而Linux系统和PHP编程语言都是广泛应用于自动化处理的两个重要工具。本文将着重介绍如何使用的功能。
十余年的章丘网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整章丘建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“章丘网站设计”,“章丘网站推广”以来,每个客户项目都认真落实执行。
1. Linux脚本介绍
Linux脚本是在Linux系统中执行的一系列命令。与命令行命令不同,Linux脚本可以包含多个命令,并且可以通过执行脚本来一次性执行所有命令。Linux脚本可以大大简化一些繁琐的Linux操作。
Linux脚本通常是由自定义函数、条件语句、循环结构等组成,可以完成诸如配置管理、自动化部署、备份维护等各种自动化任务。在大多数情况下,Linux脚本都需要在终端中手动执行。但是,当需要频繁重复执行某个脚本时,手动执行就变得比较麻烦了。这个时候,我们可以使用PHP编程语言来编写一个调用Linux脚本的脚本。
2. PHP介绍
PHP是一种脚本语言,主要用于在Web服务器上创建动态Web页面。PHP能够处理HTML表单、连接数据库、管理Cookies和sessions等。PHP具有易学、免费、兼容多种操作系统等优点,在Web应用程序开发中被广泛使用。
PHP可以嵌入到HTML页面中,以及与其他编程语言一起工作,例如JavaScript、CSS、HTML、MySql等。使用PHP,我们可以提供动态内容,例如生成HTML表单、动态图像、PDF文件等。PHP还可以在Linux系统中,与Linux脚本一起工作,实现更多更复杂的操作。
3. 实现php调用linux脚本
接下来,我们来介绍一些使用PHP调用Linux脚本的方法。
(1)使用exec函数
exec函数是PHP提供的一个执行外部命令的函数,我们可以在其中传递需要执行的Linux脚本。exec函数返回的是脚本执行后的输出,我们可以利用这个特性来获取脚本的返回值。
我们可以使用以下示例来测试:
“`php
// shell脚本文件路径
$shell = “/var/www/html/script.sh”;
// 执行脚本命令
$result = exec($shell, $output, $code);
// 输出脚本返回结果
echo $result;
“`
在以上示例中,我们使用exec函数调用名为script.sh的脚本,并将执行结果存储在变量$result中。同时,我们也将输出结果存储在变量$output中并将错误代码存储在变量$code中。
(2)使用system函数
system函数是和exec函数一样用于执行命令的函数,但是和exec函数不同的是,system函数只返回脚本的最后一行输出,也就是说,其他输出都会被忽略。
我们可以使用以下示例来测试:
“`php
// shell脚本文件路径
$shell = “/var/www/html/script.sh”;
// 执行脚本命令
$result = system($shell, $code);
// 输出脚本返回结果
echo $result;
“`
在以上示例中,我们使用system函数调用名为script.sh的脚本,并将执行结果存储在变量$result中。同时,我们也将错误代码存储在变量$code中。
(3)使用passthru函数
passthru函数与exec函数和system函数的区别在于,passthru函数将脚本的输出直接输出到浏览器中。我们可以使用以下示例来测试:
“`php
// shell脚本文件路径
$shell = “/var/www/html/script.sh”;
// 执行脚本命令
passthru($shell, $code);
“`
在以上示例中,我们使用passthru函数调用名为script.sh的脚本,并将错误代码存储在变量$code中。passthru函数会将脚本的所有输出直接输出到浏览器。
(4)使用shell_exec函数
shell_exec函数和exec函数的使用方式相似,但是不同的是,shell_exec函数只返回输出,而不返回执行码。
我们可以使用以下示例来测试:
“`php
// shell脚本文件路径
$shell = “/var/www/html/script.sh”;
// 执行脚本命令
$result = shell_exec($shell);
// 输出脚本返回结果
echo $result;
“`
在以上示例中,我们使用shell_exec函数调用名为script.sh的脚本,并将执行结果存储在变量$result中。
4.
在本文中,我们介绍了如何使用PHP调用Linux脚本的方法,包括使用exec函数、system函数、passthru函数和shell_exec函数等。这些方法都具有各自的特点和使用场景,可以根据需要选择适合的方法来实现自动化处理。同时,搭建一个Linux系统的开发环境也是非常重要的。只有在一个良好的开发环境下,才能更好地完成我们的工作目标。
相关问题拓展阅读:
Apache+Mysql+PHP(含GD,libpng,jpeg,zlib,freetype,freeTDS,awstats)安装与配置
作者:swingcoder(at)msn(dot)com
日期:
一、前言
安装的问题很多人都之一次要面对的,既简单又麻烦。很多老鸟都对如何安装的问题不屑,说:问来问去都是安装的问题。
希望这的贴子对新手能有点帮助,老鸟的话,就不用看了,免得拍砖。谢谢~~
本文所有软件均使谈和缓用最新版(至发布日期),但是又有人说了,什么版本不稳定啦,这不好那不好啦。Cut!就此打住,我也不想为这些问题纠缠不清了,此文仅仅是安装。先让大家用起来,具体的优化安全以后再说,应了一句话“先让一部分人先富起来!“。
虽然仍然是重复劳动,但至少是含模自己的经验,不想丢了,写完后自己以后也可以看棚派看,顺便整理整理。
二、目的
安装Apahe与MySQL,将php安装成支持gif,png,jpeg,freetype,mssql,mysql,需要更强大的图形处理能力,可安装ImageMagic。可以分析大流量网站日志(更大流量的网站推荐用Webalizer,不过界面简陋:-,)。
二、安装环境描述
操作系统:GNU Linux kernel 2.4.20
web服务器:Apache httpd-2.0.48 下载:
数据库服务器: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
#此处下载的的二进制分发包,故没有./configure步骤
mv mysql-standard-4.0.17-pc-linux-i686 /usr/local/mysql
cd /usr/local/mysql
#下步cp要看服务器硬件环境,可选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
#设置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
#设置日志存储格式
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.中下…?用默认值:
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
#设置计划任务
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为%和密码为空的用户
调整性能:
max_connections=250 #default is 100 #影响pconnect数量
table_cache=128 #default 64,调整值根据实际情况而定,一般如果Open_tables 达到table_cache值,且Opened_tables仍在快速增长,要增大该值。
key_buffer_size= #根据实际情况而定,一般Key_reads : Key_read_requests小于1:1000
4、配置PHP
默认安装的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,不能创建共享libjpeg库,即不是能–enable-shared指令编译。
装libtool之前要装m4-1.4.1-13.i386.rpm,automake,autoconf及
若您下载的包为zip格式jpegsr6.zip时,./configure 时出现: bad interpreter:,原因是dos换行跟unix换行符不同造成的,在editplus在转换格式后,jpeg-6a安装成功
3、安装libpng
安装之前要先安装zlib, 且不有自定义目录,否则装gd时找不到库文件。
4、安装MySQL
此文中因为安装的是二进制分发包,帮没有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
六、总结
上述仅仅是简单的安装跟一些简单的配置,肯定存在不少漏洞,希望大家多多留心,任何程序和配置,最关键的在决定因素往往在于--“配置者”本身。希望对有需要的人有一定的帮助。
如果你不想装apache可以略过apache安装那部分
关于php调用linux脚本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
当前标题:PHP实现调用Linux脚本(php调用linux脚本)
链接URL:http://www.mswzjz.cn/qtweb/news19/548019.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能