2011-03-21 20 views
12

Ben Debian üzerinde PHP 5.3 kullanıyorum ve php -m 'Phar' yüklenir. Ancak, php pyrus.phar veya php pyrus.phar config-show'u yürütmek, hiçbir çıkışa neden olmamaktadır.'php pyrus.phar' çalıştırılamıyor

Sorun ne olabilir?

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 bana verir: Beni karıştırır Ne

[...] 

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 

[...] 

libxml2 sadece libxml listeler PHP> 5.3.1 için varsayılan ama php -m tarafından kullanılabilir olması gerekiyordu olmasıdır. Bana verecek -i olsa php:

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

deneyin 'php -d hata raporlama = E_ALL pyrus.phar' veya diğer ortak tuzak seçenekler. Hangi versiyonu test ettiniz? En yeni indir '2.0.0a2' benim için çalışıyor gibi görünüyor. – mario

+0

php -d error_report = E_ALL pyrus.phar yine hiç çıktı almaz. Pyrus.phar yerine pyrus2.phar komutunu değiştirirsem de bana giriş dosyasını açamadıklarını söyler… böylece bir şeyler oluyor. Evet, son pirziyi deniyorum. – Raffael

+0

Sahip olduğun aynı sorunu yaşıyorum: Ubuntu'da, çekicilik gibi çalışıyor, ama Debian makinemde çalışmıyor. Sorunu bulabilir miyim göreceğim. –

cevap

19

Buldum :)

Debian Suhosin'dir yama ile bir PHP sürümünü kuracaktır görünüyor. Aşağıdaki gösterecektir -v kendi php çıkışı:

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 

Şimdi, Suhosin'dir bu soruna neden görünüyor: o phar dosya yürütülecek izin vermez. Eğer /var/log/user.log bakarsanız aşağıdaki gibi bir girdi görmelisiniz:

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) 

biz Aşağıdaki satır ekleyerek, sadece cli bu infaz konum yana/etc/php5/cli/conf.d/phar.ini bu sorunu çözmeli, benim için yaptı.

suhosin.executor.include.whitelist="phar" 

İyi şanslar :)

+0

bu ödül benim arkadaşım ... 23 saat içinde! Teşekkürler! – Raffael

+0

Şerefe, sorununuzu çözdüğünü duyduğumuza sevindim. –