php中system()不返回输出怎么办

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。

最近在工作时意外发现执行像'ls'这样的常用命令,exec()能够工作正常,例如:

 exec('ls',$输出,$ retval); 
 var_dump($ output,$ retval); 
 // $ output包含文件名数组,retval === 0

但是当我尝试执行另一个程序时,我却无法得到输出,如下:

exec('some_command --a_parameter',$ output ,$ retval); 
 var_dump($ output,$ retval); 
 // $ output包含一个空数组,结束$ retval === 0

从命令行直接执行命令时会打印一些行,我知道命令执行成功了,我可以看到结果(一些文件更新,数据添加等),但是我却看不到输出。

exec()函数将只捕获标准输出。我并不能确定标准错误总是发送到apache错误日志,但似乎是可以的。

如果你不需要使用unix系统,其实我们可以通过在命令中附加 2>& 1 来将标准错误重定向到标准输出,这样问题就可以得到解决了,例如:

 exec('some_command --option 2>& 1',$ output,$ ret);

--结束END--

本文标题: php中system()不返回输出怎么办

本文链接: https://www.lsjlt.com/news/206.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php中system()不返回输出怎么办

    php中system()不返回输出的解决方法:在命令中通过附加【2 >& 1】来将标准错误重定向到标准输出即可,例如【exec('some_command --option 2>& 1',$ output,$ ret);】。
    阅读数:390 php system() 输出
  • php echo无法输出怎么办

    php echo无法输出的解决办法:1、安装配置好PHP运行环境;2、将文件后缀名设置为“.php”;3、在浏览器中输入“http://localhost/test.php”即可。
    阅读数:435 php echo
  • php输出数组键名乱码怎么办

    php输出数组键名乱码的解决办法:1、在页面的开始处加入“header("Content-type:text/html;charset=utf-8");”;2、执行“mysql_query('SET NAMES UTF8');”。
    阅读数:743 php 乱码
  • html 输出不了php代码怎么办

    html输出不了php代码的解决办法:1、打开httpd.conf;2、添加“AddHandler php5-script .php .html AddType text/html .php .html”;3、重启服务即可。
    阅读数:747 html php
  • php没有session返回怎么办

    php没有session返回的解决办法:1、将session_start放到<HTML>标志之前;2、修改php.ini中的内容为“session.auto_start =1”;3、设置session保存路径。
    阅读数:139 php session
  • php 输出html 代码不解析怎么办

    php输出html代码不解析的解决办法:1、用PHP设置编码,代码如“header("Content-type:...charset=utf-8")”;2、用meta标签设置编码,代码如“<meta charset="UTF-8">”。
    阅读数:303 php html
  • php打印输出中文乱码怎么办

    php打印输出中文乱码的解决办法:1、打开php.ini文件;2、找到“;default.charset="UTF-8"”;3、把前面的分号去掉;4、重启apache服务,刷新页面即可。
    阅读数:886 php 乱码
  • php curl 输出不完整怎么办

    php curl输出不完整的解决办法:1、打开相应的PHP代码文件;2、增加配置为“curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));”;3、封装方法为“function req_curl($url, &$status = null, $options = array()){...}”即可。
    阅读数:639 curl函数 php
  • php 微信返回的消息是乱码怎么办?

    php微信返回消息是乱码的解决办法:1、创建一个PHP示例文件;2、通过“urldecode(json_encode($message));”方法进行编码即可。
    阅读数:850 微信 乱码 php
  • php中script乱码怎么办

    php中script乱码的解决办法:1、将编写的php文件在保存的时候,存为ANSI编码;2、在php文件的头部设置“charset="gb2312"”;3、在包含js文件的地方设置“charset="utf-8"”。
    阅读数:874 php script
  • php传入sql中乱码怎么办

    php传入sql中乱码的解决办法:1、在php的编码中修改字符集为utf8;2、执行“alter table 表的名称 convert to character set utf8;”语句。
    阅读数:273 php sql
  • php中thread找不到怎么办

    php中thread找不到的解决办法:1、检查PHP的VC版本和扩展名的VC版本;2、将pthreadVC2.dll复制到指定文件夹;3、下载与php版本相匹配的pthread;4、修改php.ini配置文件。
    阅读数:246 php thread
  • php 中调用 time失败怎么办

    php中调用time失败是因为时区没有设置正确,其解决办法:1、将php.ini中的时区timezone设成“中国Asia/Shanghai”;2、在应用中根据时差补偿给时间戳值。
    阅读数:509 php time
  • php中iconv函数报错怎么办

    方法:1、在函数的第二个参数后添加“//IGNORE”,语法为“iconv("UTF-8","GB2312//IGNORE",..)”;2、将gb2312置换成“utf-8”,语法为“iconv("GB2312","UTF-8",..)”。
    阅读数:445 php
  • ubtunu中php不解析怎么办

    ubtunu中php不解析的解决办法:1、执行“sudo apt-get install libapache2-mod-php sudo a2enmod php”命令;2、彻底卸载“libapache2-mod-php”并重新安装;3、通过“udo /etc/init.d/apache2 restart”重启apache2即可。
    阅读数:359 php
  • php中xls导出乱码怎么办

    php中xls导出乱码的解决办法:1、打开相应的PHP文件;2、在产生乱码的文件中,添加“header("Content-type:application/vnd.ms-excel;charset=UTF-8");”语句即可。
    阅读数:280 乱码 xls php
  • php中js加载后乱码怎么办

    php中js加载后乱码的解决办法:1、将编写的php文件存为ANSI编码;2、在php文件的头部设置编码;3、在包含js文件的地方设置utf-8编码即可。
    阅读数:889 php js
  • php中斜杆无法识别怎么办

    php中斜杆无法识别的解决办法:1、打开相应的代码文件;2、把路径中的反斜杠替换成正斜杠即可正常识别。
    阅读数:554 php 斜杆
  • php中var不能用怎么办

    php中var不能用的解决办法:1、打开相应的PHP文件;2、查看Address类对应的“address.inc”代码;3、查找“public”并将其去掉,或者将“public” 改为“var”即可。
    阅读数:471 php
  • php png 失真怎么办

    php png失真的解决办法:1、创建一个PHP示例文件;2、创建一个和背景图片一样大小的真彩色画布;3、复制背景图片;4、通过“imagecreatefrompng”合成png图片即可。
    阅读数:137 php png