当前位置: 首页 > article >正文

Apache和PHP部署

前言:虽然 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配置

  1. PHP根目录下的php.ini-development复制一份,重命名为php.ini
  2. 打开后找到extension_dir = “ext”,把ext改为ext文件夹所在路径
  3. php.ini里面,如果需要其他扩展,取消前面的分号注释就好,比如允许连接mysql
    请添加图片描述

注:如果要让 phpstudy 使用这个版本的 PHP,把 PHP 整个文件夹复制到phpstudy_pro\Extensions\php 目录下即可,此时 ext 的路径改为对应的实际路径。

  1. 配置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 noneRequire all denied
</Directory>
<Directory "${SRVROOT}/htdocs">AllowOverride noneRequire 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
http://www.lryc.cn/news/2417573.html

相关文章:

  • 面向食品类目的AI导购对话系统设计与实践
  • jQuery创建多个setInterval函数
  • 智能仓储的实时监控与报警系统
  • JAVA+APPIUM+模拟器实现自动化测试
  • 有哪些可以免费发布信息的网站
  • 程序员必备:阿里巴巴中国站1688.item_get_contact API详解:获取方式与参数一览
  • 基于JSP实现的项目管理平台系统
  • 设计分享|基于51单片机的万年历(汇编)
  • 虚拟化服务器四根网线,立足虚拟化 戴尔4路R905 R910 服务器详细拆解北京dell服务器供应商企业博客...
  • 深度学习笔记10_Pytorch实现车牌识别
  • Html.DropDownList
  • (转)央视二套财富故事会之朱仁民
  • 内网穿透哪家好?要注意什么?
  • 探索高效Hackintosh之旅:600/700系列主板通用EFI配置文件
  • 分享一个好用的添加网络代理的工具SocksCap
  • 【转载】奇虎360的发展史
  • U8650真正一键root,适合不刷机人群,绝对可用
  • 13 JavaScript 关于prototype(超重点)
  • HTTP状态码、accept与content-type
  • 明日之后怎么找不到朋友服务器,明日之后搜索不到好友 搜索添加好友教程
  • CentOS7.6安装ORACLE 12C RAC + DATAGUARD
  • 安卓逆向Xposed HOOK TB APP的x-sign参数
  • 如何辨别真假IPHONE4 , IPHONE 4S ?
  • 字节跳动高工面试-Android-R如何访问文件、修改文件?你们对R适配了吗?(1)
  • 报错的解决 sqlite3.OperationalError: unrecognized token: “630008.OF“
  • 手游自动挂机脚本开发历程
  • 上古卷轴5天际重置版d3dx9_42.dll丢失怎么办?全面解析上古卷轴5天际重置版d3dx9_42.dll丢失问题的解决方案
  • 纳尼亚传奇2 片尾曲
  • 分布式数据库是如何实现高可用的?
  • 点评国内Facebook克隆网站 - SNS之我见(二)