PHP官网下载 https://windows.php.net/download/

在PHP官网点击Download下载时不管选择哪个版本的都有两个类型 :

Non Thread Safe(非线程安全)和  Thread Safe (线程安全)

如果需要配合 Apache 使用,需要下载 Thread Safe 版本(才包含php7apache2_4.dll模块)。

apache24+php8配置

将 php8 目录中的 php.ini-development 改名为 php.ini,然后打开这个文件找到 extension_dir=“ext”,去掉注释分号,改为extension_dir = “D:/software/php8/ext” (php的安装路径/ext)

打开 apache 目录中的 config/httpd.conf,在 LoadModule 后面追加(将php加到apache中):

#载入PHP处理模块
LoadModule php_module "D:/workspace/php8/php8apache2_4.dll" #php安装路径
PHPIniDir "D:/workspace/php8"
#所有的*.php文件使用php处理
AddType application/x-httpd-php .php .phtml

添加虚拟目录:  先注释掉原来的路径:DocumentRoot "${SRVROOT}/htdocs",在 httpd.conf 文件后面加上:

<IfModule dir_module>
DirectoryIndex index.php index.html index.htm default.php default.html default.htm home.php home.html home.htm
#G:/workspace/yii2-basic/web 放php项目的地方,取一个别名 testuri
Alias /testuri "G:/workspace/yii2-basic/web"
DocumentRoot "G:/workspace/yii2-basic/web"
<Directory "G:/workspace/yii2-basic/web">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</IfModule>

配置虚拟主机(配置多个服务的地方): 打开:conf/extra/httpd-vhosts.conf,在文件后面添加

<VirtualHost *:80>
#和前面的 DocumentRoot 一致
DocumentRoot "G:/workspace/PhoneShop/nginx/yii2-basic/web"
#虚拟主机名 访问时的网址
ServerName www.testuri.com
ErrorLog "logs/www.testuri.com-error.log"
CustomLog "logs/www.testuri.com-access.log" common
</VirtualHost>

修改本地网址IP解析指向(访问www.testuri.com时,IP为本地),打开 C:\Windows\System32\drivers\etc\hosts 文件,在后面添加:

127.0.0.1 www.testuri.com

在 web 目录新建一个 test.php(hello world),启动 apache 输入网址访问测试。

YII2部分

1. 开启 apache 的 mod_rewrite 模块

去掉 LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;

2. 修改 apache 的 AllowOverride

把 AllowOverride None 修改为 AllowOverride All;

3. 在与index.php文件同级目录(yii2 web目录)下添加文件“.htaccess”

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on # if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php
RewriteRule . index.php

4. 配置应用的urlManager

需要在config/web.php中的 components 数组下增加:

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
]
],

PHP 网页 apache24+php8 yii basic的更多相关文章

  1. Yii basic 模板支持连接多数据库

    1.首先修改db配置文件,修改格式如下: return [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:hos ...

  2. 基于Python的网页文档处理脚本实现

    嵌入式web服务器不同于传统服务器,web需要转换成数组格式保存在flash中,才方便lwip网络接口的调用,最近因为业务需求,需要频繁修改网页,每次的压缩和转换就是个很繁琐的过程,因此我就有了利用所 ...

  3. Java微信公众平台开发之OAuth2.0网页授权

    根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...

  4. windows本地配置php(yii)+nginx+fastcgi

    一. 配置nginx支持php 官网下载nginx. nginx.conf配置做如下更改: # yii框架 server { charset utf-8; client_max_body_size 1 ...

  5. xampp+YII搭建网站

    一.安装xampp xampp专为php开发设计,需要的apache,mysql,php已经自带了.特别提醒,请下载PHP版本高于5.4支持Yii2.0的xampp 二.配置环境变量 在系统的环境变量 ...

  6. Yii 2.x 和1.x区别以及yii2.0安装

    知乎上有个类似的问题:http://www.zhihu.com/question/22924271/answer/23085751 大致思路不会变,开发流程变化也不是很大.有变化的是1.yii2带入的 ...

  7. 参考sectools,每个人至少查找5种安全工具、库等信息并深入研究至少两种并写出使用教程

    1.Nessus Nessus是免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上.它不仅能永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance--终端用户 ...

  8. Yii2:记一次尴尬的bug

    创建一个文章模块,写完添加动作之后,分配到视图,发现报错: Exception (Not Supported) 'yii\base\NotSupportedException' with messag ...

  9. NGINX 配置文件配置url重写

    1.项目在根目录: location / {            index  index.html index.htm index.php l.php;            autoindex  ...

  10. Yii2.0 的安装学习

    视频学习地址: 后盾网视频: http://www.houdunren.com/houdunren18_lesson_76?vid=7350 与<Yii框架>不得不说的故事—基础篇 htt ...

随机推荐

  1. dotnet 代码优化 聊聊逻辑圈复杂度

    本文属于 dotnet 代码优化系列博客.相信大家都对圈复杂度这个概念很是熟悉,本文来和大家聊聊逻辑的圈复杂度.代码优化里面,一个关注的重点在于代码的逻辑复杂度.一段代码的逻辑复杂度越高,那么维护起来 ...

  2. MySQL 更新数据 不同条件(批量)更新不同值

    一般在更新时会遇到以下场景:1.全部更新:2.根据条件更新字段中的某部分内容:3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法. 一.方法分类 二.具体用法 (1)根据条件更新值 ...

  3. 最新版 Proteus 8.15 Professional 图文安装教程 [ 附安装包 ]

    前言 Proteus 是世界上唯一将电路仿真软件.PCB设计软件和虚拟模型仿真软件三合一的设计平台. Proteus 8.15 现已发布,本篇将带领大家安装此版本. 介绍 Proteus Proteu ...

  4. 主线程-创建Thread类的子类

    主线程 Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码.Jav ...

  5. 同类型芯片资源对比-CH32x芯片快速应用说明

    CH32Fx 系列芯片是基于 Cortex-M3 内核设计的微控制器,所以与大部分 ARM 工具和软件兼容. 此外,其外设和硬件设计兼容市场上一些主流微控制器,并在性能和功能上有所增强, 方便用户快速 ...

  6. 【LeetCode】三数之和+四数之和(双指针)

    之所以放在一起是因为,"四数之和"的解题方法基本与"三数之和"一致 由此我们可以推出n数之和的解法 本质上,我们只是使用双指针的方法降低此类问题的时间复杂度 当 ...

  7. 高效、优雅的对象copy之MapStruct入门到精通,实战踩坑版

    一.前言 大家在开发中,最让人头疼的就是:对象之间的拷贝,前端的VO和数据库的Entity不一致! 性能最好的就是手动set,主要是枯燥且无技术含量,不仅耗费大量时间而且很容易出错: 所以我们要成为优 ...

  8. 从实现到原理,聊聊Java中的SPI动态扩展

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 八股文背多了,相信大家都听说过一个词,SPI扩展. 有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的? 基本上,你一说是 ...

  9. redis服务创建失败:Could not create server TCP listening socket 127.0.0.1:6379: bind

    1. redis-cli.exe 2.shutdown 如果出现   (error) NOAUTH Authentication required.,则需要验证之前设置的密码(没出现请忽略第三步) 3 ...

  10. go 语言 for循环的一个坑

    1.案例1 package main import "fmt" type Card struct { id int } func main() { list := make([]* ...