2011-03-21 23 views
12

मैं डेबियन पर PHP 5.3 का उपयोग करता हूं और php -m 'फ़ार' लोड होने के अनुसार।'php pyrus.phar' निष्पादित नहीं किया जाएगा

लेकिन php pyrus.phar या php pyrus.phar config-show निष्पादित करने पर कोई आउटपुट नहीं होता है।

समस्या क्या हो सकती है?

debian:~# php -v 
PHP 5.3.5-1 with Suhosin-Patch (cli) (built: Feb 19 2011 01:57:59) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans 
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH 

php -i मुझे देता है:

[...] 

Phar 

Phar: PHP Archive support => enabled 
Phar EXT version => 2.0.1 
Phar API version => 1.1.1 
SVN revision => $Revision: 305584 $ 
Phar-based phar archives => enabled 
Tar-based phar archives => enabled 
ZIP-based phar archives => enabled 
gzip compression => enabled 
bzip2 compression => enabled 
OpenSSL support => enabled 


Phar based on pear/PHP_Archive, original concept by Davey Shafik. 
Phar fully realized by Gregory Beaver and Marcus Boerger. 
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. 
Directive => Local Value => Master Value 
phar.cache_list => no value => no value 
phar.readonly => On => On 
phar.require_hash => On => On 

[...] 

मुझे क्या confuses है कि libxml2 केवल libxml सूचीबद्ध करता पीएचपी> 5.3.1 के लिए डिफ़ॉल्ट लेकिन php -m तक उपलब्ध हो जाता है। हालांकि php मैं मुझे दे देंगे:

libXML support => active 
libXML Compiled Version => 2.7.8 
libXML Loaded Version => 20708 
libXML streams => enabled 
+0

कोशिश 'php -d error_reporting = E_ALL pyrus.phar' या अन्य आम ख़तरा विकल्प। आपने किस संस्करण का परीक्षण किया? नवीनतम डाउनलोड '2.0.0a2' मेरे लिए काम करता प्रतीत होता है। – mario

+0

php -d error_report = E_ALL pyrus.phar फिर से कोई आउटपुट नहीं लेता है। हालांकि अगर मैं pyrus2.phar के साथ कमांड में pyrus.phar को प्रतिस्थापित करता हूं, तो यह मुझे बताता है कि इनपुट फ़ाइल नहीं खोल सका .... तो कुछ हो रहा है। हाँ, मैं नवीनतम पायरस की कोशिश कर रहा हूं। – Raffael

+0

मेरे पास आपके पास एक ही समस्या है: उबंटू पर, यह एक आकर्षण की तरह काम करता है, लेकिन यह मेरी डेबियन मशीन पर काम नहीं करता है। मैं देखूंगा कि मुझे समस्या मिल सकती है या नहीं। –

उत्तर

19

यह मिला :)

ऐसा लगता है डेबियन Suhosin पैच के साथ एक PHP संस्करण स्थापित हो जाएगा। -v निम्नलिखित दिखाएगा php का मेरा अपना उत्पादन:

web01:/home/berry# php -v 
PHP 5.3.5-1 with Suhosin-Patch (cli) (built: Feb 19 2011 01:57:59) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH 

अब, ऐसा लगता है Suhosin इस मुद्दे का कारण बनता है: यह phar फ़ाइल निष्पादित करने की अनुमति नहीं है। आप /var/log/user.log में देखो, तो आप एक प्रविष्टि के रूप में निम्नानुसार देखना चाहिए:

web01:/home/berry# tail /var/log/user.log | grep pyrus 
Mar 23 11:27:50 web01 suhosin[17463]: ALERT - Include filename ('phar:///home/berry/pyrus.phar/PEAR2_Pyrus-2.0.0a2/php/PEAR2/Pyrus/ScriptFrontend/Commands.php') is an URL that is not allowed (attacker 'REMOTE_ADDR not set', file '/home/berry/pyrus.phar', line 40) 

जब से हम केवल CLI पर इस क्रियान्वित कर रहे हैं, के लिए नीचे पंक्ति जोड़कर/etc/PHP5/CLI/conf.d/phar.ini को इस मुद्दे को ठीक करना चाहिए, यह मेरे लिए किया गया था।

suhosin.executor.include.whitelist="phar" 

गुड लक :)

+0

बक्षीस तुम्हारा दोस्त है ... 23 घंटों में! धन्यवाद! – Raffael

+0

चीयर्स, यह सुनकर अच्छा लगा कि यह आपकी समस्या को ठीक करता है। –

संबंधित मुद्दे

 संबंधित मुद्दे