Этот ответ работает по состоянию на 29 января 2013 года.
Прежде всего, внутри Ubuntu сделать
wget http://pecl.php.net/get/perl-1.0.1.tgz
скачать файл tgz с http://pecl.php.net/package/perl
Распакуйте архив
tar -zxvf perl-1.0.1.tgz
Перейти в несжатый каталог
cd perl-1.0.1
Удалите текущий php_perl.c, потому что по какой-то причине он не работал с моим php5.
Загрузите еще один php_perl.c из репозитория github https://github.com/do-aki/php-ext-perl
wget https://raw.github.com/do-aki/php-ext-perl/a3d7db22eb7964ea9cb39ea2f866d10df26655d4/php_perl.c
Запустите эту строку за строкой
export PHP_PREFIX="/usr"
export PERL_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --with-perl=$PERL_PREFIX --with-php-config=$PHP_PREFIX/bin/php-config
make
Если вы получаете такие ошибки, как /usr/bin/ld: cannot find -lperl
, вам нужно установить
sudo apt-get install libperl-dev
Установите расширение (для этого шага могут потребоваться права суперпользователя)
make install
Добавьте расширение perl в ваш php.ini (для этого шага могут потребоваться права суперпользователя)
extension=perl.so
Перезагрузите ваш php5-fpm
sudo /etc/init.d/php5-fpm restart
При запуске Perl могут возникнуть проблемы с локалью.
Посмотрите на недостающие локали. Предполагая, что у вас отсутствуют en_SG и en_SG.UTF-8
Пытаться
sudo locale-gen en_SG en_SG.UTF-8
sudo dpkg-reconfigure locales
и затем перезагрузите компьютер.
Если у вас все еще есть проблемы с локалью,
Пытаться
sudo nano /etc/environment
Добавить недостающую локаль в LC_ALL
LC_ALL = "en_SG.UTF-8"
Перезагружать.
Я хочу поблагодарить tm064
из #perl и NullDev
из #ubuntu за помощь в решении этой проблемы.