Tengo los siguientes paquetes instalados en Ubuntu 16.04:
La única mención de gettext cuando llamo a phpinfo() está en la sección de autores del módulo ("GetText = Alex Plotnick"), por lo que asumiría que el soporte se ha compilado correctamente.
Parece que gettext no se carga correctamente en PHP, porque el siguiente código:
<?php if ( false === function_exists('gettext') ) { echo "You do not have the gettext library installed with PHP."; exit(1); }De hecho, imprime "No tiene la biblioteca gettext instalada con PHP".
Aparte de la documentación, los únicos archivos php-gettext que he instalado son:
/usr/share/php/php-gettext/gettext.inc /usr/share/php/php-gettext/streams.php /usr/share/php/php-gettext/gettext.phpRealmente no he tocado ninguna configuración de php o apache (aparte de probar e instalar icingaweb2 )
¿Alguien puede ver cuál podría ser mi problema?
Actualizar Más depuración...
me@phoenix:~$ ls /etc/php/7.0/apache2/conf.d/ 10-mysqlnd.ini 20-dom.ini 20-intl.ini 20-mbstring.ini 20-pdo_mysql.ini 20-wddx.ini 20-xmlwriter.ini 15-xml.ini 20-imagick.ini 20-ldap.ini 20-mysqli.ini 20-simplexml.ini 20-xmlreader.ini 20-xsl.ini me@phoenix:~$ sudo a2dismod php5 ERROR: Module php5 does not exist! me@phoenix:~$ sudo find / -name gettext.so /usr/lib/php/20151012/gettext.so /usr/lib/x86_64-linux-gnu/perl5/5.22/auto/Locale/gettext/gettext.soDebería funcionar fuera de la caja después de la instalación. ¿Has reiniciado Apache? Intente primero sudo apache2ctl restart o sudo service apache2 restart en la consola del terminal. Si ninguno de los dos funciona en su sistema, intente sudo /etc/init.d/apache2 restart .
Compruebe si existe un archivo /etc/php/7.0/apache2/conf.d/20-gettext.ini (o una ruta similar en su sistema) que contenga la línea
extension=gettext.so No debe haber un punto y coma antepuesto, de lo contrario se comenta. Algunas instalaciones también pueden configurar esa línea dentro del archivo de configuración básico de php /etc/php/php/7.0/php.ini , sin embargo, la forma derivada de Debian es usar archivos adicionales en la carpeta conf.d
Puede habilitar los módulos de PHP (por ejemplo, gettext) en la línea de comando
sudo phpenmod -v 7.0 gettextSi esto no funciona, edite la configuración manualmente.
Finalmente, reinicie su servicio Apache como se describe anteriormente.
Compruebe también si Apache está ejecutando la versión PHP 7.0 esperada con la siguiente línea en su página de PHP
echo phpversion();Puede habilitar / deshabilitar los módulos Apache2 de múltiples versiones de PHP instaladas en la línea de comando
sudo a2dismod php5 sudo a2enmod php7.0 sudo apache2ctl restart