| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Perl,pph |
| Автор: o6s 20.12.2008, 20:44 |
| Доброе врямя суток. Можно ли передать переменуую из perl-скрипта в php-скрипт ? Я пока подумываю о том, что бы использовать временный файл, из которого php будет считывать нужную ему переменню или стандартный какой-нить дескриптор, но может быть есть более человеческие варианты ? |
| Автор: sir_nuf_nuf 21.12.2008, 02:07 | ||
| давай сразу терминологию проясним, что бы... эм ну стать более грамотными. из perl в php нельзя передать переменную. perl - это программа. интерпретатор. отдельный процесс php - аналогично. отдельный процесс. ваш процесс perl обрабатывает данные (!). perl дает нам способ обращаться к данным по именам - это переменные. Следовательно ваш вопрос выглядит так: 1) "как передать данные из одного процесса в другой ?" или чуть более подробно: 2) "какое API существует в perl и php для передачи данных между процессами ?" Сначала ответим на вопрос 1: можно: -передать данные как аргументы при запуске программы (аргументы командной строки если хотите) -передать данные как переменные окружения -передать данные через файл -передать данные через pipe -через shared memory -через очередь сообщений -воспользоваться cокетами -отправить по e-mail в конце концов =) Тут есть нюансы: - у вас работают оба процесса одновременно - процесс perl порождает процесс php В зависимости от этого нужно выбирать способ передачи. Если вы просто порождаете новый процесс то легче всего передать через аргументы командной строки или через pipe Ecли два процесса работают одновременно - через IPC. Теперь когда мы поняли что хотим, разберемся как это делать. Т.к. в ПХП я пном - пень.. пишу примеры только на perl 1) через аргументы командой строки:
2) если процесс php уже запущен, то нужно выбрать подходящий IPC http://perldoc.perl.org/perlipc.html http://www.google.ru/search?q=IPC+PHP&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ru:unofficial&client=firefox-a |
| Автор: o6s 21.12.2008, 18:23 |
| Спасибо за развернутый ответ. |
| Автор: gcc 24.12.2008, 06:53 |
| я хотел сделать так: пхп -> перл -> пхп еще можно сессии использовать от пхп, а шаблоны от perl, но если программа написана на пхп, и html как правило прямо в коде, переделывать это все долго очень, лучше с нуля написать... |