安装好apache+mysql+php5后,配置apache服务器中的httpd配置文件后就无法启动Apache了,出现了如标题的情况,在网上搜了一下,很大一部分原因可能是配置文件出现了问题。运行cmd,用命令启动Apache, apache会提示你哪句有误,然后就可以针对性的解决,进入\Apache2.2\bin\后,命令如下: httpd.exe
遇到的为题:
问题1:
“Apache is running a threaded MPM,but your PHP Modle is not compiled to be threadsafe. You need to recompile PHP.”
分析:
PHP编译模式错了。如果在windows下,需在php.net上下载 PHP 5.2.13 zip package ,不要下debug pakage 或 Non-thread-safe zip package.
Windows binary of mod_fcgid is at www.apachelounge.com/download/
httpd文件配置 一览:(只提取了其中有效的指令,需要配置的地方,待补充)
ServerRoot "E:/Web/Apache2.2" //服务器运行根目录
Listen 82 //设置端口号
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule php5_module E:/Web/php5/php5apache2_2.dll //需要添加的部分,该句经常报问题1中的错误
ServerAdmin hu_hu_hi@126.com // ServerAdmin:你的邮件地址,当发生问题时Apache将
向你发出邮件。
DocumentRoot "E:/Web/Apache2.2/htdocs" //存放项目的地址,课修改
<Directory "E:/Web/Apache2.2/htdocs"> //修改了上面的路径后,这一行路径也得改
<IfModule dir_module>
DirectoryIndex index.html index.php //添加一个php默认页
</IfModule>
ErrorLog "logs/error.log" //错误日志文件定位
LogLevel warn //控制记录在错误日志文件中的日志信息数量。
CustomLog "logs/access.log" common //指定接入日志文件的定位和格式
ScriptAlias /cgi-bin/ "E:/Web/Apache2.2/cgi-bin/" 指定包含服务脚本的目录。
<Directory "E:/Web/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php .php //添加希望Apache服务器能够识别的PHP扩展名
DefaultType text/plain
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
使用组合包快速安装
组合包就是将Apache、php、MySQL等服务器软件和工具,安装配置完成后进行打包处理。只需要将已配置的套件解压到本地硬盘中即可使用,无需再另行配置。组合包的优点是安装简单,无需另行配置,速度较快而且运行稳定,但缺点是灵活性较差。初学者可以选择此安装方法。
推荐使用Appserv、EasyPHP、XAMPP,它们都是Apache+php+MySQL开发环境,其中XAMPP相对复杂一些,不仅可以切换PHP4和PHP5,还集成了perl开发环境、第三方扩展库等,并且对开发平台进行了优化和整理。