免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3845 | 回复: 3
打印 上一主题 下一主题

请会用php 的 exec 函数的兄弟帮个忙,我的exec()不能执行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-28 00:50 |只看该作者 |倒序浏览
环境 rh9 + php4.2 系统自带的,
我编辑了 /etc/php.ini
safe_mode = On
safe_mode_exec_dir = /var/www/html  //(rh9 系统缺省的httpd 主目录)
保存后重起服务器。 按道理这个时候应该能执行exec() 函数了。我测试了一下
写了个简单的测试程序如下 test.php 并放在 /var/www/html
<?
exec("ls >;1.txt";
?>;
运行了test.php  ,在/var/www/html 并没有产生一个 1.txt 的文件!
请问我这样测试可以吗?如果写的没错,那么 exec() 函数为什么不能执行呢?
如果写的不对,那么怎么样写才能测试 exec()函数 呢?
谢谢大家的帮忙。
longnetpro 该用户已被删除
2 [报告]
发表于 2004-01-28 02:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2004-01-28 02:51 |只看该作者

请会用php 的 exec 函数的兄弟帮个忙,我的exec()不能执行

safe_mode_exec_dir = /var/www/html

这句的意思是只有 /var/www/html 这个目录下的可执行文件才能执行,ls程序不在这个目录下,当然不可执行啦。cp /bin/ls /var/www/html/ 再运行PHP脚本试试

论坛徽章:
0
4 [报告]
发表于 2004-01-28 08:22 |只看该作者

请会用php 的 exec 函数的兄弟帮个忙,我的exec()不能执行

谢谢高手们,我已经把 ls 拷贝到了 /var/www/html/
并且把 /var/www/html/  整个目录的属性改为777 了,
还是不能执行。
------------------------
另外我发现我的php是以模块的方式编译到了apache 里面
我删除了/etc/php.ini(整个服务器上只有这个php.ini).
然后重起apache . PHP程序照样执行。这让我怀疑修改
php.ini文件是否有用?
再有我参考了httpd.conf 文件,查资料得知

在讨论PHP安全配置之前,应该好好了解PHP的safe_mode模式。

1、safe_mode

safe_mode是唯一PHP_INI_SYSTEM属性,必须通过php.ini或httpd.conf来设置。要启用safe_mode,只需修改php.ini:

safe_mode = On

或者修改httpd.conf,定义目录:

<Directory /var/www>;
   Options FollowSymLinks
   php_admin_value safe_mode 1
</Directory>;

重启apache后safe_mode就生效了。


我都照做了,但是还是没有效果,没有产生 1.txt 文件

请高手们帮忙。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP