如何在Apache上运行PHP代码

原文链接:https://www.apachelounge.com/viewtopic.php?t=2394

注:这是在某Apache论坛上看到的教程,内容是关于如何在Windows操作系统钟设置Apache和PHP,最终使PHP得以在Apache这一Web服务器软件上运行。下文的许多内容是对上述链接内容的翻译,目的是为大家提供参考。

 

该安装教程针对Windows系统,目的是为了建立本地服务器(可理解为localhost)。

 

能让PHP在Apache上成功运行的方法有很多钟,网上能找到许多,据原文的作者称,他所介绍的方法属于比较简单直接的配置方法。

 

对于Apache 2.4.x版本,在开始前,先下载安装VC++ redistribute,下载地址:

64位:https://aka.ms/vs/15/release/VC_redist.x64.exe

32位:https://aka.ms/vs/15/release/VC_redist.x86.exe

 

一、删除原有的Apache和PHP 

由于原文作者使用解压压缩包的方式安装Apache,为保证后续安装不出错,在此建议:如果之前你已经通过运行MSI安装包的方式安装了Apache,请通过以下步骤删除Apache服务并卸载(或删除)Apache软件和PHP:

1. 以管理员身份运行命令提示符(或Windows Powershell),将目录定位至Apache安装目录的bin子目录下;

2. 用以下命令删除Apache服务:

httpd -k uninstall

3. 最后再卸载或删除Apache和PHP的文件夹即可。

 

二、安装Apache

1. 下载Apache压缩包,可在此下载:http://www.apachelounge.com/download/ 

2. 将压缩包解压缩到诸如C:\Apache或D:\Apache的目录下;

3. 以管理员身份运行命令提示符,将目录定位至Apache安装目录的bin子目录下;

4. 输入如下命令并回车:

httpd

 

如无意外,在输入命令后,Apache将会启动。在浏览器上输入http://localhost会显示"It Works!"字样。如此,Apache的安装已经完成,下一步是配置PHP于Apache上。在此之前,先在刚刚启动Apache的命令行中长按Ctrl再按C,松开后即可关闭Apache服务。

 

三、配置PHP

1. 下载PHP7,可从以下地址下载: http://windows.php.net/download/,同样也是下载压缩包;

2. 将压缩包解压缩,将其中的内容放在诸如C:\PHP7或D:\PHP7钟,尽量不要在Apache的根目录下建立文件夹存放PHP的解压文件;

3. 在这里,PHP是通过mod_fcgid模块配置的(也可以说是通过mod_fcgid模块将Apache和PHP"连接"起来)。在用到mod_fcgid模块之前,我们先对PHP做一些配置上的改动:

(1)找到刚才解压缩的PHP文件夹,用文本编辑器打开里面的php.ini-production文件,找到以";extension_dir"开头的那一行,如下图所示:

我这里已经把注释符号";"删掉了,在等号后面加上PHP文件夹中ext文件夹的绝对路径,我这里是把PHP解压到了D盘,因此,我的路径就是"D:\php\ext"。

(2)在这个文件里还能激活数据库MySQL和MySQLi插件,激活的方法就是把最前面的";"删掉,这里建议把数据库的插件激活,分别是:

extension=mbstring
extension=mysqli
extension=pdo_mysql

同时建议把op cache也激活,可在文件中添加以下语句:

zend_extension=php_opcache.dll

然后找到下面的文本,等号后面改成"On"或者1:

opcache.enable=On
opcache.cli_enable=On

(3)最后,将这个文件另存为php.ini,保存的位置不变。

 

将命令行定位置PHP文件的根目录下,运行:

php -m

如无意外,PHP将运行,你会看到被载入的模块列表。

 

四、用mod_fcgid模块将Apache和PHP连接起来

(1)先下载mod_fcgid模块,下载地址:

64位:https://www.apachelounge.com/download/VC15/modules/mod_fcgid-2.3.9-win64-VC15.zip

32位:https://www.apachelounge.com/download/VC15/modules/mod_fcgid-2.3.9-win32-VC15.zip

(2)将其中的mod_fcgid.so放到Apache根目录下的modules文件夹中;

(3)编辑httpd.conf文件,该文件位于Apache根目录下的conf文件夹中。在文件的末尾续上:

LoadModule fcgid_module modules/mod_fcgid.so

<IfModule fcgid_module>


   FcgidMaxProcesses 300
   FcgidMaxProcessesPerClass 300

   FcgidOutputBufferSize 65536
   FcgidConnectTimeout 10
   FcgidProcessLifeTime 0
   FcgidMaxRequestsPerProcess 0
   FcgidMinProcessesPerClass 0
   FcgidFixPathinfo 0
   FcgidProcessLifeTime 0
   FcgidZombieScanInterval 20
   FcgidMaxRequestLen 536870912
   FcgidIOTimeout 120
   FcgidTimeScore 3

   FcgidPassHeader Authorization

   FcgidInitialEnv PHPRC "C:\\php7" # 改成你的PHP根目录,这条注释一定要删除,不然会出错
   FcgidInitialEnv PATH "C:\\php7;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;" # 改成你的PHP根目录,这条注释一定要删除,不然会出错
   FcgidInitialEnv SystemRoot "C:\\Windows"
   FcgidInitialEnv SystemDrive "C:"
   FcgidInitialEnv TEMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv TMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv windir "C:\\WINDOWS"
   <Files ~ "\.php$">
      Options Indexes FollowSymLinks ExecCGI
      AddHandler fcgid-script .php
      FcgidWrapper "C:/php7/php-cgi.exe" .php # 改成你的PHP根目录,这条注释一定要删除,不然会出错
   </Files>
</IfModule>

然后保存,开启Apache服务。

(4)另外,在上面的httpd.conf文件中,还能更改Apache服务的端口,只要在如下位置,改成你想要的设置的端口即可:

改成这样以后,如果是本地服务器,开启Apache服务后,可以通过localhost:8181看到"It Works"字样。

(5)在PHP文件夹中的php.ini中,查找并激活下面的一行,后保存:

cgi.fix_pathinfo = 1

 

五、安装Apache服务

为了方便,不妨将httpd.exe添加到系统路径中,这样就不用每次都将命令符定位至Apache根目录下。

在命令行中运行以下命令安装Apache服务:

httpd -k install

如此,含有PHP代码的html文件就可以在依托Apache服务运行了。当然,html文件要存放在Apache根目录下的htdocs文件夹下才行。例如,如果完全按照上面的设置,要访问hello.html页面,则可以在浏览器的地址栏中输入localhost:8181/hello.html即可访问。

 

关于如何在此基础上安装MySQL和phpMyadmin将在后续更新。

posted on 2019-03-22 11:25  tspeaking  阅读(11043)  评论(0编辑  收藏  举报

导航