背景:原项目在winsowserver2012上运行,需要迁移,我在本地先试运行。
php原理:经咨询php朋友,php是执行脚本文件,需要第三方服务器apache提供端口映射,访问文件。php5以下的版本个7以上的版本有语法不同,且7不向下兼容,apache和php8的结合配置上也略有不同,所以老项目部署时,遵循选用同一版本环境的原则。
第一步 下载安装apache
地址 http://httpd.apache.org/download.cgi
下载后解压到 D盘,管理员运行cmd,进入到Apache24/bin目录下,
安装 : httpd.exe -k install
在计算机-属性-服务中查看apache服务的名字,可以在这里启动服务器,也可以
用appche 安装目录bin下的自带试图启动管理工具 - ApacheMonitor.exe 双击运行。
删除服务命令:sc delete apache2.4
有时会用到(参考 https://blog.csdn.net/whd526/article/details/75093459 )
httpd.exe -k install -n "Apache2.4" -- 安装名为Apache2.4的服务。
-n 后面是appche服务的名称。
踩坑:用 ApacheMonitor.exe 启停appce服务,有时看不到apache服务的报错。只能看到弹窗提示
‘the requested operation has failed’
需要cmd到bin目录下,例如我的 D:\SERVER\httpd-2.4.46\Apache24\bin
手动运行 httpd.exe -k start 启动命令。
实时查看报错,例如我的,“说找不到名为‘apache2.4’”,所以我重新安装了名为‘apache2.4’”的服务,然后删除 名为‘apache’的服务。(之前安装的这次部署报错,果断删除。)
配置apache配置文件 http.conf,文件在 Apache24\conf目录下。
参考 https://www.cnblogs.com/xuchuanbing/p/xupp.html
https://blog.csdn.net/weixin_42188677/article/details/112610016
1.依赖模块
#php8.0版本
#LoadModule php_module "D:/SERVER/php/php8.0.9/php8apache2_4.dll"
#PHPIniDir "D:/SERVER/php/php8.0.9"
#php5.*版本
LoadModule php5_module "D:/SERVER/php/php-5.6.17/php5apache2_4.dll"
PHPIniDir "D:/SERVER/php/php-5.6.17"
2.搜索 AddType添加
AddType application/x-httpd-php .php
3.添加解析 <IfModule dir_module> 中添加 index.php
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
4.AllowOverride None改为 All
另外 httpd.exe -t 命令可以检查http.conf文件是否有语法错误。
第二步 下载php windows版本
点击 dowloads - 其他版本点击 Past releases 64版本。
下载后解压
复制php.ini-development重命名为php.ini
编辑 php.ini --- 第二个修改是 php连接mysql需要用到。
参考 https://blog.csdn.net/www121104115/article/details/75006164
搜索 On windows 下的这句并修改为:extension_dir = “D:/Myphp/php-7.0.19/ext”
其中“自己php的安装目录/ext”;(其实就是:去掉前面分号,再把自己的php安装目录配置上)
然后把 extension=php_mysqli.dll 这句前面的分号去掉,
除此之外,根据报错,还需放开不同支持。
保存“php.ini ”;
第三步 修改php项目源码中的mysql配置文件。修改用户名密码。
我的数据库连接配置文件在D:\bbs-home\www2\include\conn.inc.php中。不同项目需要自己找。
启动appche服务,默认监听80,访问localhost,检查是否运行成功。