1
anviod 2017-05-12 15:14:44 +08:00
反斜杠 加 双引号 例如: "C:/Program Files (x86)/PHP"
|
2
alex321 OP @anviod 已经尝试过如下:
$process= proc_open("\"C:\\Program Files (x86)\\PHP\\php.exe\" -c \"C:\\Program Files (x86)\\PHP\\php.ini\" \"$start_file\" -q", $descriptorspec, $pipes); $process= proc_open('"C:\\Program Files (x86)\\PHP\\php.exe" -c "C:\\Program Files (x86)\\PHP\\php.ini" "$start_file" -q', $descriptorspec, $pipes); $process= proc_open("C:\\Program Files (x86)\\PHP\\php.exe -c C:\\Program Files (x86)\\PHP\\php.ini \"$start_file\" -q", $descriptorspec, $pipes); $process= proc_open('"C:/Program Files (x86)/PHP/php.exe" -c "C:/Program Files (x86)/PHP/php.ini" "$start_file" -q', $descriptorspec, $pipes); 均提'C:\Program' 不是内部或外部命令,也不是可运行的程序。。。。 |
3
sbw 2017-05-12 17:16:39 +08:00 1
这样呢
C:\\Progra~2//PHP\\php.exe C::\\Program\ Files\ (x86)\\PHP\\php.exe |
4
alex321 OP 临时用了个过渡方法:
$cmd = sprintf('%s "%s" -q', $ppath, $start_file); if(strtolower(substr(PHP_OS, 0, 3)) === 'win')$cmd = '"'.$cmd.'"'; $process= proc_open($cmd, $descriptorspec, $pipes); 但依旧会提示 'C:\Program',然而跑起来了。。。 @sbw 提供的 C:\\Progra~2//PHP\\php.exe 方法和过渡方法处理结果一样。。。C::\\Program\ Files\ (x86)\\PHP\\php.exe 方法没有提示。 |
5
mingyun 2017-05-13 00:20:15 +08:00
别折腾 php 换个路径吧
|
6
anviod 2017-05-13 21:52:14 +08:00
那你为何不设置 PHP 到系统环境变量?
|