Home  >  Article  >  Backend Development  >  What to do if php cannot run external commands

What to do if php cannot run external commands

藏色散人
藏色散人Original
2022-10-25 10:06:581388browse

Solution to the problem that php cannot run external commands: 1. Check whether safe mode is turned on; 2. Execute the file under the path "safe_mode_exec_dir"; 3. Configure the specific path in "php.ini" .

What to do if php cannot run external commands

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

What should I do if php cannot run external commands?

Problem description:

I am preparing to use PHP to run adb.exe to connect and communicate with the android phone, but using exec("adb connect 192.168.1.10",$out); or the system function does not work.

For example,

exec("adb connect 192.168.1.10",$out);
print_r($out);

is supposed to output connection information or error information, but the result is nothing, and I There is no problem when executing under cmd

In the end, there is no way. I use bat to write the command and php to execute bat. This is okay, but when executing bat in php, it seems that the windows environment variables do not take effect

So it’s very troublesome;

Can anyone help me and tell me how to use

exec("adb connect 192.168.1.10",$out);

To execute

or to implement environment variables in the process of php executing bat

I have tried other commands of doc like the fc command, which can be executed with exec

and the fc command is called by c:\windows\system32\fc.exe works

But I copied my adb into c:\windows\system32\ and it still doesn’t work

! ! !

Solution:

First you have to make sure whether safe mode is turned on.

When safe mode is enabled, only safe_mode_exec_dir can be used to execute files under this path

The specific path is configured in php.ini. Configuration item: safe_mode_exec_dir

The following is the official description of PHP:

safe_mode_exec_dir

If PHP uses safe mode, system() and other programs execute The function will refuse to start programs that are not in this directory. You must use / as the directory separator, including on Windows.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What to do if php cannot run external commands. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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