QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3638|回复: 6

php中exec()得到的139返回代码是什么含义?

[复制链接]
发表于 2005-10-26 18:38:04 | 显示全部楼层 |阅读模式
exec($command,$output,$result);
$result得到139,$output为空 $command没有正常执行....
发表于 2005-10-26 20:41:03 | 显示全部楼层
请详细描述
回复

使用道具 举报

 楼主| 发表于 2005-10-28 07:40:47 | 显示全部楼层
我想用exec执行一个自己编的程序
放在自己的目录(如/var/www/tool)都不能执行 返回执行代码126
但是将程序cp到/usr/bin就可以执行 发挥正常执行的代码0

exec()一个系统命令也可一执行 执行whoami显示apache

我登录apache 然后执行/tool里面的程序没问题

我把所有相关的目录文件都设成777了 也不行

那个测试程序只是向标准输出输出一行字

我把真正要用到的程序也cp到/usr/bin中 他需要读入一个文件 输出一个文件 在/var/www/run这样的目录中 返回代码139。。。没有执行成功 如果不给参数不让他做操作的话就能正常执行
回复

使用道具 举报

发表于 2005-10-28 09:20:45 | 显示全部楼层
因为php.ini中safe_mode_exec_dir默认让/usr/bin下的某些指令可以执行

你在safe_mode_exec_dir中追加/var/www/run和/var/www/tool
回复

使用道具 举报

 楼主| 发表于 2005-10-28 11:39:08 | 显示全部楼层
不是的

safe_mode是off

Fedora Core4
php和apache都是fc4自带的版本 基本没有改动过配置
回复

使用道具 举报

发表于 2005-10-28 18:23:26 | 显示全部楼层
打开safe_mode=on

然后safe_mode_exec_dir中追加/var/www/run和/var/www/tool
回复

使用道具 举报

发表于 2005-10-28 20:46:40 | 显示全部楼层
加绝对目录: /path/to/your/bin
或者设置 PATH 到你的程序的所在地。

注意 php 一般用的是 apache 这个用户帐号。这主要看你的 apache 的设置。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-25 04:37 , Processed in 0.080963 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表