我在Ubuntu 16.04上安装了以下软件包:
当我调用phpinfo()
时,只提到gettext是在模块作者部分(" GetText = Alex Plotnick"),所以我认为支持已经正确编译。
似乎gettext没有正确加载到PHP中,因为以下代码:
<?php
if ( false === function_exists('gettext') ) {
echo "You do not have the gettext library installed with PHP.";
exit(1);
}
确实打印&#34;您没有使用PHP安装gettext库。&#34;
除文档外,我安装的唯一php-gettext
文件是:
/usr/share/php/php-gettext/gettext.inc
/usr/share/php/php-gettext/streams.php
/usr/share/php/php-gettext/gettext.php
我还没有触及任何php或apache配置(除了尝试并安装icingaweb2)
任何人都可以看到我的问题是什么吗?
更新 更多调试......
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.so
答案 0 :(得分:1)
安装后应该可以开箱即用。你重启了Apache吗?在终端控制台上首先尝试sudo apache2ctl restart
或sudo service apache2 restart
。如果两者都不适用于您的系统,请尝试sudo /etc/init.d/apache2 restart
。
检查是否确实存在包含该行的文件/etc/php/7.0/apache2/conf.d/20-gettext.ini
(或系统上的类似路径)
extension=gettext.so
必须不作为分号前缀,否则会被注释掉。某些安装也可能在基本的php配置文件/etc/php/php/7.0/php.ini
中配置该行,但是debian派生的方式是使用conf.d
文件夹中的额外文件。
您可以在命令行上启用PHP模块(例如gettext)
sudo phpenmod -v 7.0 gettext
如果这不起作用,请手动编辑配置。
最后如上所述重启Apache服务。
检查Apache是否在PHP页面中运行了预期的PHP版本7.0以及以下行
echo phpversion();
您可以在命令行上从多个已安装的PHP版本启用/禁用Apache2模块
sudo a2dismod php5
sudo a2enmod php7.0
sudo apache2ctl restart