PHP exec () не выполняет программу c ++ при запуске через браузер

У меня есть сценарий PHP, который вызывает exec () для выполнения программы на C ++, но когда я вызываю ее из браузера, она не работает.
Вместо этого, если я использую командную строку «php5 ./mypage.php», это работает.

Это моя страница PHP:

<?php
exec("./praat ./FeaturesExtraction.praat ./emotion.wav ./output/");
?>

Praat — это программа для анализа речи.
Эта программа принимает в качестве входных данных скрипт FeaturesExtraction.praat и wav emotion.wav и записывает выходные данные в каталог «output» (который имеет все разрешения).

Я протестировал два веб-сервера, Apache и Lighttpd, но у меня нет результатов.

Кто-то может мне помочь?
Как я могу решить эту проблему?
Или как мне обернуть праат, чтобы использовать его из Интернета?

Благодарю.

-1

Решение

проблема может быть «./praat». Попробуйте использовать полный путь к исполняемому файлу или сделайте php-эквивалент chdir () в соответствующий каталог

0

Другие решения

После разных испытаний это мой вывод:
Я решил проблемы с разрешениями, поэтому мой простой бинарный C работает, но, к сожалению, нет.
Я видел файл журнала apache, и ошибка:
прекращение вызова после создания экземпляра MelderError
Отменено

Поэтому я открою еще один соответствующий вопрос:
Ошибка выполнения praat из PHP: прекращение вызова после сброса экземпляра MelderError. Aborted

Спасибо всем.

0

По вопросам рекламы [email protected]