estou usando o Ubuntu 12.10. incapaz de usar a extensão PHP_PERL. Não é possível instalar a extensão também

1

Eu preciso executar um script Perl porque eu preciso de um módulo que o Perl tenha que o PHP não.

Este é o meu código para testes em PHP

<?php


echo ("Hello World");


$perl = new Perl();
$perl->require("someperlscript.pl");

Eu tenho

Hello WorldPHP Fatal error:  Class 'Perl' not found in /var/virtual/abc.com/testperl/testperl.php on line 7
PHP Stack trace:
PHP   1. {main}() /var/virtual/abc.com/testperl/testperl.php:0

Então eu tentei instalar sem sucesso .

O que devo fazer para executar o Perl dentro de uma edição do servidor do Ubuntu 12.10?

    
por Kim Stacks 23.01.2013 / 17:53

2 respostas

2

Esta resposta funciona a partir de 29 de janeiro de 2013.

Primeiro de tudo, dentro do Ubuntu

wget http://pecl.php.net/get/perl-1.0.1.tgz

para baixar o arquivo tgz do link

Descompacte o tar

tar -zxvf perl-1.0.1.tgz

Entre na pasta descompactada

cd perl-1.0.1

Remova o php_perl.c atual porque, por algum motivo, ele não funcionou com o meu php5.

Faça o download de outro php_perl.c do repositório do github link

wget https://raw.github.com/do-aki/php-ext-perl/a3d7db22eb7964ea9cb39ea2f866d10df26655d4/php_perl.c

Executar esta linha por linha

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  

Se você receber erros como /usr/bin/ld: cannot find -lperl , será necessário instalar

sudo apt-get install libperl-dev

Instale a extensão (esta etapa pode exigir privilégios de root)

make install

Adicione a extensão perl ao seu php.ini (esta etapa pode exigir privilégios de root)

extension=perl.so

Reinicie seu php5-fpm

sudo /etc/init.d/php5-fpm restart

Você pode ter problemas com a localidade quando executar o Perl.

Veja os locais ausentes. Supondo que você tenha perdido en_SG e en_SG.UTF-8

Tente

sudo locale-gen en_SG en_SG.UTF-8
sudo dpkg-reconfigure locales

e, em seguida, reinicie.

Se você ainda tiver problemas de localidade,

Tente

sudo nano /etc/environment

Anexe o local ausente para LC_ALL

LC_ALL = "en_SG.UTF-8"

Reinicie.

Quero agradecer a tm064 do #perl e NullDev do #ubuntu por me ajudarem com essa solução.

    
por 29.01.2013 / 05:04
0

Existe uma nova versão do perl-1.0.1.tgz disponível a partir de 2013-01-23. Tem pacote.xml mais adequado (Tentei sob SuSE 12,2 - tudo está OK).

    
por 23.01.2013 / 18:13

Tags