Вызов fcsh из скрипта PHP - PullRequest
0 голосов
/ 07 декабря 2008

Мой вопрос заключается в том, можно ли вызывать fcsh Flex из скрипта PHP. Вот фон:

Я создал простой процесс, который создает простой тест / учебное пособие путем преобразования текстового файла в файл .mxml и компиляции в файл .swf с помощью компилятора mxmlc. Это хорошо работает из командной строки, но я хотел упростить процесс, создав для этого веб-интерфейс. Мои первоначальные попытки с PHP-функцией exec () не сработали. Скрипты Python, которые я использую для создания файла .mxml, работают нормально (с использованием exec ()), но мне не удалось заставить работать компилятор mxmlc.

После поиска в Интернете и на этом сайте, я считаю, что использование fcsh (вместо mxmlc) может быть правильным решением. Использование fcsh, безусловно, скомпилирует файл .mxml быстрее (после первого запуска), и я думаю, что fcsh можно запустить как службу, которую можно вызывать из PHP.

С другой стороны, возможно, я подхожу к этому неправильно. Было бы лучше написать приложение Flex, которое вызывает fcsh и избегать использования PHP?

Редактировать: Использование fcshctl, как предложил Хассег в своем ответе ниже, работает очень хорошо. Спасибо Али.

Ответы [ 3 ]

1 голос
/ 08 декабря 2008

Проблема вызова fcsh из сценариев заключается в том, что он работает как интерактивная оболочка вместо того, чтобы принимать аргументы командной строки, компилировать и возвращать состояние выхода. Есть разные способы обойти это, что я перечислил в этом моем блоге , где я в основном говорю о fcshctl (это мое собственное решение для этого), но в нижней части В посте я также перечислил другие подобные решения для интеграции fcsh в нестандартные рабочие процессы сборки.

0 голосов
/ 15 декабря 2008

Есть ли конкретная причина, по которой вы не можете использовать mxmlc напрямую? Кажется, было бы проще позвонить, чем fcsh. Просто укажите все параметры компилятора в XML-файле, запустите его как mxmlc -load-config path/to/config.xml. Вы можете найти пример формата конфигурации XML в FLEX_HOME/frameworks/flex-config.xml.

0 голосов
/ 08 декабря 2008

В php есть несколько других способов выполнить внешний скрипт. Это exec (), passthru (), system () и обратные кавычки, то есть ключ слева от клавиши 1. Каждый из них имеет разные цели и механизм возврата.

Возможно, вам придется поместить команду, выполняющую ваш исполняемый файл, в скрипт и вызвать этот скрипт через одну из этих функций.

...