1

UGH - windows server 2003 apache 2.2 (httpd-2.2.22-win32-x86-openssl-0.9.8t) PHP 5.2 (php-5.2.17-Win32-VC6-x86)

几个月来一切都很好 - 我最近实现了一个 mPDF 实现......(在笔记本电脑上本地开发)当我将它上传到我的服务器时 - 我收到一个错误,说我需要 PHP_MBSTRING

所以我在我的服务器上重新启动了我的安装程序 - 并添加了这个扩展...... apache 不会重新启动。

如果我从我的 http.conf 中注释掉这些行 - 然后它开始......

PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2_2.dll"

是的 - php5apache2_2.dll 确实存在 - 并且在这个目录中......我尝试注释掉这个扩展 PHP_MBSTRING ,甚至将它从 EXT 文件夹中删除......

我已经尝试完全卸载并重新安装......我已经尝试升级到 PHP 5.3(需要安装 C++ redist)和 PHP 5.4——尽管这些都没有帮助。

转转!!我不知所措-

像这样的错误日志:

Syntax error on line 520 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf:
Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration
[Tue Feb 26 23:33:19 2013] [notice] Child 1492: Released the start mutex
[Tue Feb 26 23:33:20 2013] [notice] Child 1492: All worker threads have exited.
[Tue Feb 26 23:33:20 2013] [notice] Child 1492: Child process is exiting
4

3 回答 3

1

一方面,正斜杠是正确的。也就是说...

PHPIniDir "c:/php"
LoadModule php5_module "c:/php/php5apache2_2.dll"

php 目录在您的路径中吗?

另外,请确保您已添加

AddType application/x-httpd-php .php

就在 conf 文件之前

PHP 是否曾经在这个系统上成功运行过,您是否能够返回到工作配置?如果是这样,您应该能够从那里添加多字节字符串模块。

于 2013-02-27T04:46:03.467 回答
0

以下是与该问题相关的解决方案列表:

并且

于 2013-02-27T05:57:30.720 回答
0

在 Fedora 25 linux 上,您必须在使用 PHPIniDir 属性之前加载模块,因为模块提供了读取属性的能力......但是......

使用 httpd 2.4.x (apache) 和 php 5.6.30 当 LoadModule php5_module ... 和 PHPIniDir "/etc" 位于 /etc/httpd/conf.modules.d 下的同一个文件中时,服务器将无法启动 - 这很难过我有一段时间,因为 LoadModule 指令确实出现在 PHPIniDir 属性之前......去图......

但是,当 LoadModule 命令位于 /etc/httpd/conf 文件夹中的 httpd.conf 并且 PHPIniDir 属性设置如上时,一切正常并且 phpinfo() 确认加载的 ini 文件是“/etc/php.ini "

总而言之,这对我有用:在 httpd.conf

LoadModule php5_module 模块/libphp5.so

在 conf.modules.d/10-php5.conf 文件末尾

PHPIniDir "/etc"

---然后当然重新启动apache“systemctl restart httpd”并在您放置的任何网页上检查phpinfo()..

于 2017-04-29T06:37:19.440 回答