如何在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) 编辑 收藏 举报