本文目录一览:
- 1、php 执行 shell 命令,权限不足,怎么办
- 2、php调用linux shell没有返回值,在其他的php环境里可以默认执行,但是我这里不可以,是权限的问题吗?
- 3、ubuntu12.04 怎么用php调用shell
- 4、php中shell_exec不能运行
- 5、php执行shell脚本,为什么执行不了
php 执行 shell 命令,权限不足,怎么办
换其他方式吧,php是www用户去访问的,可以执行shell的话,不安全
php调用linux shell没有返回值,在其他的php环境里可以默认执行,但是我这里不可以,是权限的问题吗?
错误信息?
你这个远程调试?那估计应该是禁止了错误信息显示,以及禁止了 exec 命令的使用。这个 php 是可以禁用的。具体你最好看看服务器的设置。
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_exec不能运行
在Windows平台下安装PHP后,在使用PHP的exec、shell_exec等函数时,经常会遇到报错:unable to fork...,这实际上是因为PHP对cmd.exe没有足够的权限引起的。
解决方法:为C:\Windows\System32\cmd.exe(系统不是安装在C盘请相应更改)添加IUSR_ComputerName (ComputerName是你的计算机名称)用户的读取、运行权限,因为exec和shell_exec这两个函数实际上是调用了cmd.exe来执行其它的程序。
php执行shell脚本,为什么执行不了
直接执行shell脚本没有权限问题,因为一般你也是root登陆的。但是使用php执行就会存在。这里你要先确定使用shell脚本操作的文件或者文件夹是否开启777权限