本文目录一览:
- 1、如何让PHP有权限执行Linux下的命令
- 2、怎么禁止php获取linux服务器所有文件?
- 3、如何用php运行linux命令,并获取返回信息?
- 4、php 怎么获取 linux磁盘读写io使用率
- 5、为什么linux下php无法读取移动设备警告没权限,在线急等,
- 6、为什么php远程执行linux命令失败
如何让PHP有权限执行Linux下的命令
php执行linux的命令用system或exec就可以,只要打开safemode,但是一些系统底层的没有执行命令的不允许调用哦,实在有些命令例如zip之类想用的话,直接用php写入一个shell脚本文件再exec那个sh就好了。
怎么禁止php获取linux服务器所有文件?
httpd进程是root身份吧,这样很危险,一般的办法是设置httpd的进程身份为apache、www或者nobody这样普通用户,如果是APACHE,可以在httpd.conf里面如下设置:
user = apache
group = apache
当然,需要建立对应的用户,否则无法启动。
如何用php运行linux命令,并获取返回信息?
你想问得是php如何执行shell命令把?
可以用system(),exec(),passthru()这三个函数实现
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
例子:system("ls -al");
【使用之前要在php.ini中把safe_mode关闭】
php 怎么获取 linux磁盘读写io使用率
1.使用iotop命令
使用该命令有个条件,Linux内核要高于2.6.20的版本,版本过低则没有此命令,执行效果如下图所示:
2:block_dump方法
首先,关闭syslog服务,然后开启block_dump,最后正则表达式提取dmesg信息。
/etc/init.d/syslog stop
echo 1 /proc/sys/vm/block_dump
dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
执行结果如下图所示:
注意:操作完成后请关闭block_dump和启动syslog
echo 0 /proc/sys/vm/block_dump #关闭block_dump
/etc/init.d/syslog start #启动syslog
为什么linux下php无法读取移动设备警告没权限,在线急等,
首先您的media目录可能是光盘;检查media本身的权限,最后ls一下看看所列出的文件权限是否具有wr-wr-wr-,然后您需要判断,您的httpd是否以某一用户的权限运行。即使您以root登录,但是web服务器却不一定具有root权限,确认该服务器运行的用户是否具有对该目录的read权限即可。如果您改变了权限设定,可以尝试重新启动httpd试一试。
为什么php远程执行linux命令失败
php执行系统命令需要权限,比如你用的是apache,那么就需要apache执行shell的权限