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. python之路36 MySQL查询关键字

    报错及作业讲解 报错 1.粗心大意 单词拼写错误 2.手忙脚乱 不会看报错 思考错误的核心 作业讲解 '''表与表中数据的关系可能会根据业务逻辑的不同 发生改变 不是永远固定的''' 服务器表与应用程 ...

  2. 第一次Kaggle比赛心得

    新手避雷 在未组队的情况下私下共享资料属于违规行为,组队截止时间过后尤其不能这样 提交notebook的时候,kaggle的服务器只能找到前两个输出文件,所以一定要把你要提交的文件放在前两个(我们就是 ...

  3. JS原生上传文件,读取文件格式,控制文件只可以上传某些格式,并使用fileReader转换格式

    本文为代码片段记录,方便后期使用哇! <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  4. 静态文件相关配置、request请求方法、pycharm连接MySQL、orm

    静态文件相关配置.request请求方法.pycharm连接MySQL.orm 风得意马蹄疾,一日看尽长安花 一.静态文件相关配置 1.编写一个登录功能 1.创建一个django项目并创建一个app ...

  5. Thread和Runnable的区别-匿名内部类方式实现线程的创建

    Thread和Runnable的区别 如果一个类继承Thread ,则不适合资源共享.但是如果实现了Runable接口的话,则很容易的实现资源共享. 总结: 实现Runnable接口比继承Thread ...

  6. 浅谈JS词法环境

    JavaScript 词法环境 本文主要讲解JS词法环境,我们将看到什么是词法环境,词法范围如何工作,函数内部的名称如何解析,内部属性,弄清楚词法环境利于我们理解闭包.让我们开始吧... 什么是词法环 ...

  7. 2211-22学习记录之python百分数,time模块

    百分数 print(' {:.0%}'.format(84/100)) 输出为84% 以上百分数输出是使用到了字符串格式化函数format(),在其中将分数42/50作为值给传递了进去.如果将分子分母 ...

  8. concurrent.futures之ThreadPoolExecutor python线程池代码实现方法

    from concurrent.futures import ThreadPoolExecutor def main(i): print(i) THREAD_NUM = 20 # 线程数 with T ...

  9. Zstack 鼎阳SDS6204示波器和Archiver Appliance的重度测试1

    今天早晨冷师兄问起鼎阳这款示波器的情况,这几天重度烤机,发现这款一直稳定连续运行没出现过连接等等问题,正兴奋着呢,本来想坚持到开学前多烤烤机再抖抖,实在没忍住跟师兄说了情况,并说发给他,放假白天没有大 ...

  10. 上篇 | 使用 🤗 Transformers 进行概率时间序列预测

    介绍 时间序列预测是一个重要的科学和商业问题,因此最近通过使用基于深度学习 而不是经典方法的模型也涌现出诸多创新.ARIMA 等经典方法与新颖的深度学习方法之间的一个重要区别如下. 概率预测 通常,经 ...