PHP5.6+ apache2.4 安装以及可能出现的问题

PHP5.6+ apache2.4 安装以及可能遇到的问题

需要的软件:php-5.6.40-Win32-VC11-x86
httpd-2.4.38-win32-VC11

首先说一个前提,修改Apache和php配置文件后都需重启Apache服务器才会生效。

一. php的配置

  1. 解压php zip文件包

  2. 在解压的根目录下找到php.ini-development,是用于开发环境的配置文件;还有一个php.ini-production,这个是用于生产环境的配置文件。使用php.in-development,复制一份,重命名为php.ini。开始编辑。

  3. .尽管已经事先优化过,你还是需要手动配置一些额外信息,打开php.ini,配置以下信息

extension_dir:即php加载扩展的目录,默认在php安装目录下的ext文件夹,因此你只要在php.ini找到这个配置项,去掉其前面的分号即可,修改之后形如:extension_dir = “ext”,如果这样修改后,发现apache无法启动,或者很多扩展并没有加载,那么应该尝试修改成:extension_dir = “E:/PHP/ext”,请以自己的路径为准。

//注意:这里的extension_dir前面的空格和分号都要去掉,另外要更改windows栏下面的extension_dir

extension = xxxxx.dll:开启需要加载的扩展库,在php.ini中搜索“Dynamic Extensions”,然后往下翻,你会发现很多行,这样的字符串,如:

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
……….
去掉前面的分号即可打开相应的扩展,如果你不确定应该打开哪些扩展,不要紧先把mysql相关的扩展打开,如果以后要用到某个扩展库发现不行时,再来配置也可以。

下面开启几个常用的扩展:

用记事本(建议用notepad++)打开F:\phptools\php5.5\php.ini将; extension_dir = "ext"修改为 extension_dir = “ext” (去掉extension前面的分号)

将;extension=php_mbstring.dll 修改为 extension=php_mbstring.dll(去掉extension前面的分号,这是php多字节字符串扩展)

将;extension=php_mysql.dll修改为 extension=php_mysql.dll(去掉extension前面的分号)

将;extension=php_mysqli.dll 修改为 extension=php_mysqli.dll(去掉extension前面的分号)

完成第三步后,php这边的配置就算完成了,记得修改完php.ini之后要保存。下面配置web服务器,以apache为例

apache 安装配置:

用记事本打开(建议用notepad++) E:\httpd-2.4.38-win32-VC11\Apache2.4\conf\httpd.conf(以自己的目录为准)

查找ServerRoot,修改ServerRoot “C:/Apache24” 修改为 ServerRoot E:\httpd-2.4.38-win32-VC11\Apache24"(这里输入的是你解压apache安装包后放的位置)

查找#ServerName www.example.com:80 ,修改为 ServerName www.example.com:80 (去掉前面的#)

查找DocumentRoot “c:/Apache24/htdocs” , 修改为DocumentRoot " E:\httpd-2.4.38-win32-VC11\Apache2.4\htdocs" (如果一样,就不用改)

查找<Directory “c:/Apache24/htdocs”> ,修改为 <Directory " E:\httpd-2.4.38-win32-VC11\Apache2.4\htdocs "> (如果一样,就不用改)

查找DirectoryIndex index.html ,修改为 DirectoryIndex index.html index.php index.htm (这里我们添加了index.php index.htm)

查找ScriptAlias /cgi-bin/ “c:/Apache24/cgi-bin/” ,修改为 ScriptAlias /cgi- bin/ " E:/httpd-2.4.38-win32-VC11/Apache2.4/cgi-bin" (如果一样,也不用改)

查找<Directory “c:/Apache24/cgi-bin”> 修改为 <Directory " E:/httpd-2.4.38-win32-VC11/Apache2.4/cgi-bin/"> (如果一样,也不用改)

在 httpd.conf最后一行添加
添 加 LoadModule php5_module " E:\javabao\php-5.6.40-Win32-VC11-x86\php5apache2_4.dll"
让 apache 支持php (请确认你的盘符下有php5apache2_4.dll)

添加 AddType application/x-httpd-php .php .html .htm

添加 PHPIniDir “E:\javabao\php-5.6.40-Win32-VC11-x86\php.ini” (告诉apache php.ini的位置)至此,httpd.conf 配置完成,保存httpd.conf 。

将apache安装到系统服务中

找到 E:\httpd-2.4.38-win32-VC11\Apache2.4\bin\httpd -k install,回车

对以上代码的说明:

LoadModule php5_module “”E:\javabao\php-5.6.40-Win32-VC11-x86\php5apache2_4.dll",加载php安装目录的对应apache版本的dll文件,你应该查看你的php安装目录看以使用正确的dll,有的使用的是php5apache2.dll,不要弄错了。

AddHandler application/x-httpd-php .php,让apache解释php文件。

PHPIniDir “E:\javabao\php-5.6.40-Win32-VC11-x86\php”,指定php.ini文件所在的目录。

记住当在 Windows 环境下的 Apache 配置文件中添加路径值时,所有的反斜线,如 c:\directory\file.ext,应转换为正斜线: c:/directory/file.ext。对目录来说,也必须由斜线结尾。

最后就为PHP添加系统环境变量,右键“我的电脑”-“属性”-“高级”-“环境变量”,在“系统变量”那一栏里找到“PATH”,双击打开。在“变量值”的末尾添加;D:\php,将你的php安装路径添加到环境变量。

至此,我们已经完成了php5.6的安装。如果你在安装之前曾经卸载过使用msi安装程序安装的php版本,并且还没有来得及重启电脑,那么你应该现在重新启动电脑,以完成卸载过程,以免造成意外情况。

重新启动后,在web根目录新建index.php,写入如下代码://web根目录指的是apache目录下虚拟路径目录htdocs

<?php phpinfo(); ?>

修改默认页面

找到apache的配置文件httpd.conf(conf文件夹里)后找到

DirectoryIndex index.html index.php

在其中添加index.php

记得把index.html给删了,否则按照优先级还是会先显示index.html(我就是没删,搞了半天)

如果不想更改可以把php文件拷贝到htdocs文件夹里然后在访问127.0.0.1时添加index.php文件。如果显示正确则正确

启动apache,访问:http://localhost,如果版本显示为php5.6,那么说明你已经安装成功了!

注意事项:

apahce配置php过程中可能因个人电脑本机环境不同有出入,可以进入cmd模式下  cd c:\apache\bin  httpd -k start 启动查询出错原因

几种常见错误:

  1. 在安装好后apahce后启动提示:没有找到MSVCR100.dll

解决:缺少vcredist2010_x86 c++2010运行库,下载安装即可

  1. httpd: Syntax error on line 172 of c:/apache/conf/httpd.conf: Canot load c:/php/php5pache2_2.dll into server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xb3\xcc\xd0\xf2\xa1

解决:1.可能是缺少 vcredist_x86.exe c++2008运行库,下载安装即可

       2.可能是此文件要跟版本对应,否则就不能加载。 找到apache响应的php版本
  1. 如果安装好apache服务后,因配置修改太多需要重新装后再配置,无法删除apache文件

解决: 因没有关闭和卸载apache服务,进入cmd下,输入 sc delete apache2.2卸载apache服务 (卸载服务 sc delete 服务名称)

解决:Warning: call_user_func_array() expects parameter 1 to be a valid callback的问题 进入php.ini文件中,将display_errors报错提醒修改成OFF,然后重启PHP之后,就可以解决了。

解决:Windows 不能在本地计算机启动Apache2.4

Windows 不能在本地计算机启动Apache2.4。有关更多信息,查阅系统事件日志。如果这是非Microsoft服务,请与服务厂商联系。并参考特定服务代码1。

通过命令行进入Apache安装目录的bin目录下,运行httpd.exe

根据错误提示,修改相应的信息,比如我的是ServerRoot must be a valid directory,就是说安装目录不能有中文,因此要改安装目录的名称全为英文。
(特别要注意 目 录最好都不要用中文!)
(特别要注意 目 录最好都不要用中文!)
(特别要注意 目 录最好都不要用中文!)

如有不妥,望不吝赐教。
如有不妥,望不吝赐教。
如有不妥,望不吝赐教。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值