Perl интерпретатор для PHP - PullRequest
3 голосов
/ 25 ноября 2010

Некоторые функции, которые я планирую создать для моего нового сайта, уже доступны в виде бесплатных модулей Perl.Поэтому я смотрю на возможность их использования, а не на повторное кодирование в PHP.Я планировал использовать функцию exec или system для вызова сценария Perl, что будет медленно.Но я натолкнулся на расширение pecl , которое позволяет PHP интерпретировать код perl .

Повлияет ли это на производительность других моих php-страниц, которые не используют perlскрипт?Я понимаю, что дополнительный модуль увеличит использование моей памяти, но кроме этого, будут ли какие-либо проблемы?

Ответы [ 2 ]

3 голосов
/ 25 ноября 2010

Похоже, все, что он делает, встраивает perl в процесс PHP. Вы должны увидеть увеличение памяти на несколько мегабайт плюс все данные, которые вы создаете в Perl. Это не должно замедлять любой код. Это просто еще одна библиотека, сидящая в памяти и ожидающая, когда вы ее позовете. У этого решения есть два преимущества: вам не нужно тратить время на запуск другого процесса, и вам не нужно анализировать возвращаемые значения из печатного текста.

Другое решение - написать демон Perl и общаться с ним через доменный сокет, канал или какой-либо другой метод IPC.

Вас также может заинтересовать документация по Perl, охватывающая встраивание perl.

1 голос
/ 25 ноября 2010

Эти модули Perl предоставляют что-то, чего просто нет в нативном PHP? Или они достаточно просты для того, чтобы конвертировать их в PHP?

Другими словами, вам действительно нужно запускать Perl-код здесь?

Даже если вы не влияете на производительность, вы будете влиять на ремонтопригодность своей системы, добавляя языки.

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

Вы говорите в комментарии в другом месте, что код Perl "просто предоставляет некоторые удобные функции, такие как поиск по whois", поэтому я быстро пробежался по Google и нашел это: http://www.phpwhois.org/. Было также много других релевантных результатов поиска .

...