首页 > 编程知识 正文

php调用shell函数,php 调用函数

时间:2024-03-25 09:50:06 阅读:332868 作者:EBAE

本文目录一览:

解析php中如何直接执行SHELL

本篇文章是对php中直接执行SHELL的方法进行了详细的分析介绍,需要的朋友参考下 $message=shell_exec("sudo /usr/local/webserver/nginx/sbin/nginx -t 21");echo "运行结果:".$message."";上面的语句可以直接在PHP中执行SHELL语句如果有返回值 那么其中的 21 是必须的 他会重定向输出strerr 转到strout 输出!否则返回结果会为空!

如何让php执行shell

php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.

虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

system() 输出并返回最后一行shell结果。

exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

相同点:都可以获得命令执行的状态码

例子:system("/usr/local/bin/webalizer/webalizer");

如何使用PHP调用SHELL命令?调用后并且执行SHELL命令

解除sysyem() passthru() exec()等函数禁用。

执行passthru('ps -ef');可以得到这条命令的输出内容。正则得到所需内容,然后再调用这些函数执行操作。具体用法翻翻手册。

ubuntu12.04 怎么用php调用shell

第一,应该查阅php.ini配置文档(我的配置文档位置是/etc/php5/php.ini),关闭安全模式 safe_mode=Off。

第二,给予php运行的用户和本机用户权限。php运行的用户名可以通过在localhost运行以下的php文件查到:

?php

echo shell_exec("id -a");

?123123

我的Ubuntu系统的php运行用户名是www-data(好蠢的名字…)

控制台下,执行 visudo,可以打开/etc/sudoers文件进行修改(利用visudo命令的意义在于,sudoers文件很重要,如果修改错了,visudo会提示你,而直接修改会导致系统出错,无法使用sudo…)

修改的地方在root的下一行:

‘查到的php运行的用户名’ ALL=(ALL) NOPASSWD:ALL

‘本机用户名’ ALL=(ALL) ALL

通过以上设置,应该就能完成ubuntu系统下php调用并执行shell脚本。

PS.相关的命令(详细请百度google之)

$output = shell_exec("xxx.sh");//只有失败的时候返回NULL

system("cmd string",$status);//$ststus在调用成功时返回true,失败返回false

想让PHP执行shell脚本,如何安装apache和PHP?

一、安装PHP

-------------------------------------------------------

第1步:下载

下载PHP安装程序,并解压缩。(下载页面为 downloads.php,下载地址为)当前最新版本是php-5.2.1。

第2步:安装

把下载下来的PHP安装包解压到你的C盘根目录(这里选择C根目录盘是为了以后修改调试方便用,你也可以选择不同的目录),解压后应该能得到一个类似于"php-5.1.2-Win32"的目录,把目录名称改成"PHP"。

第3步:添加php.ini到系统目录

打开刚才解压后生成的PHP目录,找到PHP配置文件“php.ini-dist”,把它改名为“php.ini”,然后复制到系统目录中。如果操作系统安装在C盘,那么系统目录在 Windows XP下就是"C:windows",在Windows 2000下是"C:winnt")。

第4步:设置环境变量

设置以下环境变量:PHP_HOME=C:PHP;C:PHPext,保存退出后。

第5步:修改PHP配置文件

修改php.ini中的register_globals=on,这样在取得请求表单时可以直接使用表单名称$name,而不用使用$_REQUEST["name"]。

二、配置Apache支持PHP

-------------------------------------------------------

第1步:打开Apache 2 的配置文件

打开Apache 2的配置文件“http.conf”,可以通过“开始-程序-Apache-configure Apache server-edit the Apache httpd.conf configuration file”打开该配置文件。默认情况下,该文件存放在C:Program FilesApache GroupApache2confhttpd.conf,我们也可以通过“我的电脑”直接打开该文件进行编辑。

第2步:配置Apache加载PHP模块

在“http.conf”文件中找到LoadModule字样的信息,然后在LoadModule段信息的最下方添加一行信息:

LoadModule php5_module C:/PHP/php5apache2_2.dll

这里要解释一下,“php5_module”是模块的名称,后面跟的路径则随PHP安装目录而变,这三个字串之间是用空格分隔的。

第3步:使Apache解析PHP文件

接下来再查找addtype字样的信息,在addtype信息段的最下方添加如下几行信息:

AddType application/x-httpd-php .php

AddType application/x-httpd-php .php3

AddType application/x-httpd-php .php4

AddType application/x-httpd-php .php5

这时就可以在Apache下的htdocs目录中创建一个php测试文件:

?

phpinfo();

?

三、配置PHP支持MySQL

-------------------------------------------------------

第1步:设置 php.ini中的extension_dir = "C:/php/ext"。

第2步:将“C:PHPlibmysql.dll”复制到“C:WINDOWSsystem32”。

第3步:将“C:PHPextphp_mysql.dll”复制到“C:WINDOWSsystem32”。

第4步:修改C:WINDOWS下的php.ini文件,去掉extension=php_mysql.dll之前的“;”。

这样在PHP的程序里就可以使用MySQL扩展库的函数了,即PHP+MySQL的应用程序才能够正常运行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。