мой друг и я создаем парсер журнала для серии игр. Мы написали интерфейс (web) в PHP / MySQL и парсер в Perl (также, конечно, используя MySQL). Теперь у нас возникают проблемы с тем, чтобы эти два человека общались.
Все, что нам не нужно делать, это: одна страница администрирования в Интернете, где у вас есть кнопка «разбор». Когда вы нажимаете на это, должен начинаться сценарий Perl. Как «exec (« perl /home/www/Init.pm -f games_mp.log »).
Это возможно? Помните, что его можно легко настроить.
Мы пробовали все: от system / exec до .htaccess, но ничего не работает из коробки. Не работает вообще.
Предложения?
laka =)
Мне жаль говорить, что нет простого способа установить это. Различные серверы поставляются с различными конфигурациями apache по умолчанию.
То, что вы, вероятно, хотите сделать, это добавить следующую строку в конфигурацию сервера, конфигурацию виртуального хоста, конфигурацию каталога или, если она правильно настроена, .htaccess.
AddHandler cgi-script .cgi .pl .pm
Вашим пользователям также необходимо будет chmod и chown файлы соответствующим образом.
Дело в том, что это звучит как долгий процесс. Если это так, то для запуска веб-браузера может потребоваться так много времени, пока он не будет выполнен. Если это так, вы, скорее всего, захотите настроить какую-то очередь заданий и создать скрипт cron, основанный на этом каждые 5 минут или около того.
Почему бы не запустить скрипт Perl, как если бы он был веб-страницей из jQuery с помощью mod_perl?
Я готов поспорить, что вы сталкиваетесь с ошибками в пути. Попробуйте предоставить полный путь к исполняемому файлу Perl. Например:
exec("/usr/bin/perl /home/www/Init.pm -f games_mp.log")
В PHP многое зависит от конфигурации. Попробуйте изучить его, так как многие операторы могут быть отключены.
Убедитесь, что программа Perl имеет правильные права. Попробуйте запустить программу Perl из командной строки.