|
Buscar |
Personalizar el PHP con la Release2La versión de PHP instalada con la Relese 2 está basada en una estructura FastCGI en modo user especialmente concebida por los administradores de OVH para maximizar la seguridad y la potencia. Al utilizar Gentoo, la versión de PHP está especialmente compilada para su servidor, aprovechando al máximo la potencia de la máquina. Existen dos modos de añadir opciones a PHP :
En la Release2 conviven diferentes versiones de PHP. La Release2 tiene versiones de 32 y 64 bits. Dependiendo de la versión de PHP y la versión del sistema, la ruta de php.ini es diferente. PHP 5 - 64 bits
PHP 4 - 64 bits
PHP 5 - 32 bits
PHP 4 - 32 bits
Gracias al comando de Gentoo "emerge -pv", podemos ver las opciones de compilación de cada paquete. Para el paquete php5-ovh, se tienen las opciones siguientes : # emerge -pv php5-ovh These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-lang/php5-ovh-5.1.4 -curl -bzip2 -db2 -mysqli -soap -zip 0 kB [1] Con esto, sabemos que podemos compilar php5-ovh con Curl, Bzip2, Db2, Mysqli, Soap y/o Zip. El símbolo menos "-" delante, significa que php5-ovh no ha sido compilado con estas opciones. Ejemplo : Curl Si queremos instalar una opción disponible, por ejemplo CURL a PHP5, basta con hacer : # USE="curl" emerge php5-ovh Y php5-ovh se compilará automáticamente con el soporte CURL. Al poner el comando "php5 -m", os aparecerá la extensión correctamente listada: # php5 -m [PHP Modules] ... curl ... Fijar las opciones por defecto Durante las actualizaciones automáticas de la Release 2, podréis perder esta opción de compilación, si el paquete vuelve a compilarse. La solución definitiva es editar el fichero /etc/make.conf y añadir el a variable USE, la opción "curl" o bien quitar el guión si ya estaba añadida con un guión. Ejemplo : USE="curl -X mmx sse sse2 -gtk -sdl -nptl -xpm" De este modo, el Curl se añadirá siempre en el PHP, por defecto en cada actualización. Para recompilar un paquete nuevo con emerge y luego utilizar el comando "pecl" de PHP para añadirlo :
El paquete (fichero .so) aparece en el directorio extensions :
Ejemplo : Imagemagick Por ejemplo, para añadir las librerías Imagemagick a PHP5 : Antes de nada, añadimos las utilidades Imagemagick al servidor instalándolas con emerge : # emerge dev-php5/pecl-imagick A continuación instalamos el módulo en PHP a través de PECL : # /usr/local/php5/bin/pecl install imagick Por último añadimos en el fichero php.ini las líneas : # nano /usr/local/lib/php5/php.ini extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/" extension=imagick.so Al poner el comando "php5 -m", os aparecerá la extensión correctamente listada: # php5 -m [PHP Modules] ... imagick ... La instalación de Zend Optimizer se realiza siguiendo las instrucciones de la página de Zend, basta con bajar el instalador y ejecultarlo. Para añadirlo al php4, se debe instalar en /usr/local/php4/include/php/Zend Para añadirlo al php5, se debe instalar en /usr/local/php5/include/php/Zend Recordad que hay versiones diferentes para 32 y 64 bits. Ejemplo : Instalar Optimizer v. 3.2.0 para PHP 5.2 con Release 2 de 32 bits: # wget http://downloads.zend.com/optimizer/3.2.0/ZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz# tar -zxvf ZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz# ./ ZendOptimizer-3.2.0-linux-glibc21-i386/installOpciones : - Please specify the location for installing Zend Optimizer: /usr/local/php5/include/php/Zend - Confirm the location of your php.ini file : /usr/local/lib/php5 - Specify the full path to the Apache control utility (apachectl) /usr/local/apache/bin/apachectl # php5 -v PHP 5.2.5-pl1-gentoo (cgi) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend Technologies La instalación de Ioncube se realiza siguiendo las instrucciones de la página de Ioncube, basta con bajar los loaders y cargarlos en el php.ini correspondiente. http://www.ioncube.com/loaders.php Deberéis copiar las versiones de los loaders (ficheros .so) al directorio "/usr/local/include/". Recordad que hay versiones diferentes para 32 y 64 bits. Una vez copiados los ficheros basta con modificar el archivo "php.ini" para que cargue el loader correspondiente. Nota : Deberá añadir la extensión Ioncube al principio del fichero php.ini. Ejemplo : Instalar Ioncube para PHP 5.2 con Release 2 de 32 bits: # wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz# tar -xvf ioncube_loaders_lin_x86.tar.gz # cp ioncube/ioncube_loader_lin_5.2.so /usr/local/include/ # nano /usr/local/lib/php5/php.ini Añadimos las dos líneas : [PHP] ; ioncube zend_extension=/usr/local/include/ioncube_loader_lin_5.2.so ... # php5 -v PHP 5.2.5-pl1-gentoo (cgi) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with the ionCube PHP Loader v3.1.34, Copyright (c) 2002-2009, by ionCube Ltd., and with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies : Release2Portage :: Uso de paquetes y del árbol Portage en Gentoo y Release2 : Release2Recompilar :: Procedimiento para modificar y compilar un paquete Gentoo : PhpConOvh :: Algunas habilidades PHP con OVH : PhpYSsh :: Cómo aprovechar PHP con acceso SSH |