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 - 虽然这些都没有帮助。
WTFlip !!我不知所措 -
错误日志就像这样:
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
答案 0 :(得分:1)
首先,正斜杠是正确的。那就是说......
PHPIniDir "c:/php"
LoadModule php5_module "c:/php/php5apache2_2.dll"
你的路径中有php目录吗?
另外,请确保您已添加
AddType application/x-httpd-php .php
就在conf文件之前
PHP EVER是否已在此系统上成功运行,您是否能够返回正常工作状态?如果是这样,您应该能够从那里添加多字节字符串模块。
答案 1 :(得分:0)
答案 2 :(得分: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 modules / libphp5.so
在conf.modules.d / 10-php5.conf中,位于文件末尾
PHPIniDir“/ etc”
---然后当然重启apache“systemctl restart httpd”和 检查你输入的网页上的phpinfo()..