Запуск хромого из php

Я пытаюсь запустить хромой из php-скрипта.

Я пробовал это, но не повезло, я ничего не получил! Есть идеи?

system('lame', $returnarr); system('lame --help', $returnarr); exec('lame', $returnarr); passthru('lame', $returnarr); 

даже этот ничего не возвращает:

 exec('which lame', $returnarr); 

Я на OSX, и окончательное развертывание будет на Linux. У вас есть лучшие предложения для автоматического преобразования wav-> mp3? От php, должен ли я выполнить скрипт bash, который выполняет Lame?

Попробуйте что-то вроде этого:

 $output = array(); $result = -1; exec('`/usr/bin/which lame` --help 2>&1', $output, $result); var_dump($output, $result); 

$ output должен быть массив строк, содержащихся в выходе

$ result должен быть целым результатом. 0 обычно является успешным,> = 1 является ошибкой (конкретные коды зависят от приложения).

Часть 2> & 1 перенаправит STDERR в STDOUT ($ output), который обычно отбрасывается. Поэтому, если это ошибка, вы должны уметь видеть ошибку (надеюсь).

Если вы получаете -1 для дампа результата $, возникает фундаментальная проблема, потому что это не допустимый код результата (вероятно, это означает, что exec отключен, или процесс, который вы пытаетесь запустить, ограничен из-за ошибок разрешений или например) …

Если вы чувствуете потребность в более удобном способе работы с lame , я бы рекомендовал использовать упаковку phplame . Установите оболочку PHP LAME с помощью Composer:

 { "require": { "b-b3rn4rd/phplame": "dev-master" } } 

установить отчет об ошибках и проверить, можете ли вы выполнить exec. По умолчанию большинство систем не позволяют этого, это серьезная ответственность за безопасность. Вы должны явно разрешить execs в php.ini.

Может быть проблемой $PATH . Попробуйте указать полный путь к хромому, т.е. /usr/local/bin/lame .