В том же каталоге PHP есть программа pygmentize2.exe. Я не могу получить никакого вывода, используя exec:
$result = iconv('cp950',
'UTF-8',
shell_exec('pygmentize2.exe -f html test.py 2>&1'));
echo $result;
потом я попробовал: -
$process = proc_open("pygmentize2.exe -f html test.py", array(2 =>
array("pipe", "w")), $pipes);
// Get stuff from stderr, because `at` prints out there for some odd reason
if (is_resource($process)) {
$output = stream_get_contents($pipes[2], 100);
fclose($pipes[2]);
$return_value = proc_close($process);
}
$ return_value равно 1, а $ output по-прежнему NULL
даже, я перехожу на exec
$arr = array();
exec('pygmentize2.exe -f html test.py 2>&1',$arr);
$output_string = join( "\n", $arr );
echo $output_string;
все равно ничего не получить
Кто-то сказал, что я должен использовать абсолютный путь к exec под Windows.
C:\\xampp\\htdocs\\pygmentize2.exe
все еще не работает
но в cmd вроде программа работает нормально.
РЕДАКТИРОВАТЬ
Моя Windows имеет две учетные записи пользователей
Apache устанавливается пользователем user1, и я запускаю его на user2
Я останавливаю Apache и перезапускаю его на user1, все работает.
@mario errno - 1
#define EPERM 1 /* Operation not permitted */@mario отредактировал, спасибо.






См. Также Как я могу отладить проблемы с exec ()?, см. Советы Windows и, по крайней мере, запишите ошибку.