ubuntu 12.10 का उपयोग कर रहा हूँ। PHP_PERL एक्सटेंशन का उपयोग करने में असमर्थ। एक्सटेंशन को भी स्थापित करने में असमर्थ


1

मुझे एक पर्ल स्क्रिप्ट चलाने की आवश्यकता है क्योंकि मुझे एक मॉड्यूल की आवश्यकता है जो पर्ल के पास है जो PHP नहीं करता है।

यह PHP में परीक्षण प्रयोजनों के लिए मेरा कोड है

<?php


echo ("Hello World");


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

मुझे मिला

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

फिर मैंने बिना किसी लाभ के स्थापित करने की कोशिश की ।

एक 12 ubuntu सर्वर संस्करण के भीतर पर्ल को चलाने के लिए मुझे क्या करना चाहिए?

जवाबों:


2

यह उत्तर २ ९ जनवरी २०१३ तक काम करता है।

सबसे पहले, ubuntu अंदर

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

http://pecl.php.net/package/perl से tgz फ़ाइल डाउनलोड करने के लिए

टार को खोल दो

tar -zxvf perl-1.0.1.tgz

असम्पीडित फ़ोल्डर में जाओ

cd perl-1.0.1

वर्तमान php_perl.c को हटा दें क्योंकि किसी कारण से, यह मेरे php5 के साथ काम नहीं करता था।

एक और php_perl.c github repo 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

अपने php.ini में perl एक्सटेंशन जोड़ें (इस चरण में रूट विशेषाधिकारों की आवश्यकता हो सकती है)

extension=perl.so

अपने php5-fpm को पुनः आरंभ करें

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

जब आप पर्ल चलाते हैं, तो आपको लोकेल के साथ करने के लिए मुद्दे मिल सकते हैं।

लापता स्थानों को देखें। मान लें कि आपके पास 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 से धन्यवाद देना चाहता हूं ।


raw.github.com/do-aki/php-ext-perl/… अब टूट गया है। यह नवीनतम हेडर फ़ाइल के साथ मेल नहीं खाता है।
rht

0

2013-01-23 से उपलब्ध perl-1.0.1.tgz का एक नया संस्करण है। इसमें अधिक पर्याप्त पैकेज है। xml (SuSE 12.2 के तहत कोशिश की गई - सब कुछ ठीक है)।


मैं ubuntu 12.10 का उपयोग कर रहा हूं। मैं इसे काम नहीं कर सकता। मैं बना: *** [php_perl.lo] त्रुटि 1 त्रुटि: `बना 'विफल
किम स्टैक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.