PHP 5.5没有正确加载GetText?

时间:2014-01-24 08:11:10

标签: php apache windows-7 gettext

我遇到了一个问题,即gettext无法在Windows 7上使用PHP 5.5.8 vc11 x86和Apache 2.4。我在php.ini中启用它并根据需要安装GNU GetText。当我调用phpinfo()函数并且仍然导致WSoD并在我的Apache日志中抛出错误时,GetText似乎也没有出现:

[:error] [pid 4372:tid 784] [client ::1:60968] PHP Fatal error: Call to undefined function _() in <directory/file/etc.>

[:error] [pid 4372:tid 784] [client ::1:61771] PHP Fatal error: Call to undefined function bindtextdomain() in <directory/file/etc.>

然而,我知道它正在从phpinfo()函数的输出中读取正确的php.ini文件,并且PDO和OpenSSL的功能正常工作。我一直在寻找解决方案的最后2个小时,并且已经干了。

我正在尝试的代码,并且在启用了GetText的XAMPP安装中继续完美地工作,所以我知道这不是我正在尝试的代码。 (不,只有Apache 2.4服务器正在运行。所以,那里没有冲突。)

1 个答案:

答案 0 :(得分:0)

修正了它,方法如下:

phpinfo()函数开始将垃圾扔进Apache / logs / errors.txt,如下所示......

PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_gettext.dll' - The specified module could not be found.\r\n in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0

phpinfo()显示当它从php / ext加载dll时,默认路径是C:\ Windows。所以,我改变了系统的环境变量,如下所示:

http://bytes.com/topic/php/answers/510919-php-looking-php-ini-file-c-windows

开始 - &gt; (右键单击)我的电脑 - &gt;属性 - &gt;高级选项卡 - &gt;环境变量按钮

在“系统变量”下,您将找到“路径”的变量。您需要在现有数据之后添加php.ini文件的路径,例如:;c:\php (您需要;与之前的值分开。)

更改该值后,您需要重新启动Windows,以便添加的环境变量生效,并在启动时挂钩到Apache / PHP。