xiaoran1988 发表于 2005-10-26 18:38:04

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

exec($command,$output,$result);
$result得到139,$output为空 $command没有正常执行....

涩兔子 发表于 2005-10-26 20:41:03

请详细描述

xiaoran1988 发表于 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

xiaoran1988 发表于 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

jiangtao9999 发表于 2005-10-28 20:46:40

加绝对目录: /path/to/your/bin
或者设置 PATH 到你的程序的所在地。

注意 php 一般用的是 apache 这个用户帐号。这主要看你的 apache 的设置。
页: [1]
查看完整版本: php中exec()得到的139返回代码是什么含义?