Heim  >  Artikel  >  Backend-Entwicklung  >  无证程序员被拘留后――linux能正常运行的程序,php系统调用时却不能运行!解决方案

无证程序员被拘留后――linux能正常运行的程序,php系统调用时却不能运行!解决方案

WBOY
WBOYOriginal
2016-06-13 13:35:56851Durchsuche

无证程序员被拘留后――linux能正常运行的程序,php系统调用时却不能运行!!!!!
我自己的cli程序,在linux下能正常运行(带参数的),但用php的exec调用后却不能执行,
还有,返回的数组用isset测试不为空,输出时又没数据。
可以肯定的是linux与php均无问题,因为其他程序都正常,叫这一个。

这是怎么回事?这种问题从哪个入手?从没遇到过。

有点急,马上要提交源码了!!!!!!!!!!!!

我有个软考的DS证书,应该不会被拘留吧,哈哈……

------解决方案--------------------
用system调用试试
------解决方案--------------------
是不是用户权限的问题啊
------解决方案--------------------
话说回来 php的exec下的操作不是一般的有问题,我以前试过测试个代码就是死活不能...最后只好放弃
------解决方案--------------------
权限设置为 -rwxr-xr-x

把所有的错误信息打开,看看报什么错误!
------解决方案--------------------

探讨
代码不好贴啦,而且也不会有问题啦。
我用php拼接的带参数的命令原模原样的复制在linux上运行是可以,而且得到了正确的输出。

------解决方案--------------------
不止是用户权限,还有运行环境,也可能有差异,所以要你把 exec() 那一行的代码贴出来呀。

虽然真正的原因不一定在这里,虽然这不一定能解决你的问题,但你总不能让大家猜你的做法来判断原因吧?
------解决方案--------------------
几乎可以肯定是你的 a.out 在 -L 3 的情况下执行了某些犯禁的操作。

BTW: 当 $result = false 的时候就会出现“isset($result) == 1 而且 print_r($result) 为空”的情况,这没有什么奇怪的。
------解决方案--------------------
探讨
几乎可以肯定是你的 a.out 在 -L 3 的情况下执行了某些犯禁的操作。

BTW: 当 $result = false 的时候就会出现“isset($result) == 1 而且 print_r($result) 为空”的情况,这没有什么奇怪的。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn