Home > Backend Development > PHP Problem > What should I do if system() in php does not return output?

What should I do if system() in php does not return output?

王林
Release: 2023-03-13 06:40:02
Original
2506 people have browsed it

Solution to the problem that system() in php does not return output: redirect the standard error to the standard output by appending [2 >& 1] to the command, for example [exec('some_command -- option 2>& 1', $output, $ret);].

What should I do if system() in php does not return output?

The operating environment of this article: windows10 system, php 7, thinkpad t480 computer.

Recently when I was working, I accidentally discovered that executing common commands like 'ls', exec() can work normally, for example:

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

But when I try to execute another program, I Unable to get the output, as follows:

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

When executing the command directly from the command line, some lines will be printed. I know that the command execution was successful and I can see the results (some file updates, data additions, etc.), but I No output is visible.

The exec() function will only capture standard output. I'm not sure that standard error is always sent to the apache error log, but it seems to be possible.

If you don’t need to use a unix system, we can actually redirect the standard error to the standard output by appending 2>& 1 to the command, so that the problem can be solved, for example:

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

Recommended learning: php training

The above is the detailed content of What should I do if system() in php does not return output?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template