2011-03-21 19 views
12

Utilizo PHP 5.3 en Debian y de acuerdo con php -m se carga 'Phar'.'php pyrus.phar' no se ejecutará

Pero al ejecutar php pyrus.phar o php pyrus.phar config-show no hay salida.

¿Cuál podría ser el problema?

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 me da:

[...] 

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 

[...] 

Lo que me confunde es que libxml2 se supone que es disponible por defecto para PHP> 5.3.1 pero php -m solo lista libxml. Aunque php -i me dará:

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

Try '-d php error_reporting = E_ALL pyrus.phar' u otras opciones de error común. ¿Qué versión has probado? La última descarga '2.0.0a2' parece funcionar para mí. – mario

+0

php -d error_report = E_ALL pyrus.phar nuevamente no genera salida. Aunque si reemplazo pyrus.phar en el comando con pyrus2.phar, me dice que no se pudo abrir el archivo de entrada ... por lo que algo está sucediendo. Sí, estoy probando el último piro. – Raffael

+0

Tengo el mismo problema que tiene: en Ubuntu, funciona como un hechizo, pero no funciona en mi máquina Debian. Veré si puedo encontrar el problema. –

Respuesta

19

encontrado que :)

Parece Debian instalará una versión de PHP con el parche Suhosin. Mi propia salida de php -v mostrará lo siguiente:

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 

Ahora, parece Suhosin causa este problema: que no permite el archivo Phar a ser ejecutado. Si nos fijamos en /var/log/user.log, usted debe ver una entrada de la siguiente manera:

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) 

Ya que estamos ejecutando este sólo en CLI, añadiendo la siguiente línea a/etc/php5/cli/conf.d/phar.ini debería solucionar este problema, lo hizo por mí.

suhosin.executor.include.whitelist="phar" 

Buena suerte :)

+0

¡la recompensa es suya, amigo mío ... en 23 horas! ¡Gracias! – Raffael

+0

Saludos, es bueno saber que solucionó el problema. –

Cuestiones relacionadas