前言:虽然 PHPStudy 之类的软件给我们提供了方便的集成环境,但是其使用的是非线程安全的 PHP 版本(Not Thread Safe,NTS),某些功能不可以使用。所以,我们还需要自己再安装一个Apache+PHP 的环境。
Apache只能解析静态页面,动态页面如jsp,需要安装Tomcat,看我这篇文章
Windows
下载
-
Apache Http Server Project:https://httpd.apache.org/
我选的是apache Lounge下载,其他也可以,区别不清楚。解压后有个ReadMe.txt,详细说明可以看那个,挺清楚的 -
PHP下载地址:https://www.php.net/releases/index.php,分为线程安全(Thread Safe)和非线程安全nts版本,都能用
配置
php配置
- PHP根目录下的php.ini-development复制一份,重命名为
php.ini
- 打开后找到extension_dir = “ext”,把ext改为ext文件夹所在路径
- php.ini里面,如果需要其他扩展,取消前面的分号注释就好,比如允许连接mysql
注:如果要让 phpstudy 使用这个版本的 PHP,把 PHP 整个文件夹复制到phpstudy_pro\Extensions\php 目录下即可,此时 ext 的路径改为对应的实际路径。
- 配置php环境变量
Apache配置
- 打开conf/httpd.conf
- 在顶部添加Apache的根目录,如
Define SRVROOT "F:\Apache24"
- 修改端口号。为避免和其他HTTP服务器占用的80端口冲突,修改Listen(大概60行)后面的端口号。如
Listen 70
添加php支持
大概在73行,和其他LoadModule放一起就行
# 加载php
LoadModule php7_module F:\php-7.4.29\php7apache2_4.dll
#php配置文件路径
PHPIniDir F:\php-7.4.29
# 添加PHP 类型支持
# 在#AddType application/x-gzip .tgz(大概415行位置)下面加上一行
AddType application/x-httpd-php .php .html .htm
默认首页
依次查找,都没有就显示目录,更改完需要restart Apache 服务。
目录访问
Require all granted
允许外部访问Require host localhost
只允许本机访问Require ip x.x.x.x
允许指定的IP访问。
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory "${SRVROOT}/htdocs">
AllowOverride none
Require all denied
</Directory>
启动Apache
管理员方式启动cmd(直接启动权限不够)
切换在Apache的bin目录下,创建服务
httpd -k install -n "Apache2.4"
服务名可以自定义,我用的是Apache2.4
bin目录下,运行ApacheMonitor.exe
验证:浏览器打开localhost:70,显示如下页面,则Apache成功了
echo "<?php phpinfo(); ?>" > Apache24/htdocs/phpinfo.php
浏览器打开该文件,如果显示正常,php支持也没问题了
Apache卸载
把服务卸载,再把文件夹删了
net stop Apache24
cd /Apache24/bin
httpd -k uninstall
rmdir /s/q Apache24
Linux
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql php
systemctl start httpd.service
部署网站路径: /var/www/html/
安装的是php5
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php