您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页001——上了个路

001——上了个路

来源:二三娱乐

关于域名解析

对于开发环境,我们常常没有(也不需要)专门的域名解析服务器 ,而是使用一个简单的文本文件来解析域名,规则就是一个域名对应一个IP就好了,该文本文件就是操作系统的hosts文件,例如windows操作系统该文件存放在/system32/drivers/etc/hosts,可以以管理员身份打开编辑器再进行修改。

运行PHP文件

PHP安装包(无需安装)文件中有个可执行文件php.exe,运行方法:

php.exe -f "php文件路径"
D:\SOFT\amp\php\php.exe -f C:\Users\Kang\Desktop\php\index.php

php.exe -r "php脚本代码"
D:\SOFT\amp\php\php.exe -r "echo 'aaa';"

Apache关联PHP以运行PHP文件

Apache有很多模块,PHP只是其中的一个功能模块而已。

Apache配置文件位置:D:\SOFT\amp\apache\conf\httpd.conf
# 第一步:装载PHP
LoadModule php5_module "D:\SOFT\amp\php\php5apache2_2.dll"

# 第二步:指定文件类型
<FilesMatch "\.php$">
    setHandler application/x-httpd-php# 定义PHP模块的绰号
</FilesMatch>

# 第三步:重启Apache

第二步的替代方式

<IfModule mime_module>
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    AddType application/x-httpd-php .php .php3 .ppp
</IfModule mime_module>

测试输出时间

// 有警告
echo date("Y-m-d H:i:s");
解决
// 配置D:\SOFT\amp\php\php.ini
date.timezone = PRC
// phpinfo()查看php.ini的路径,Configuration File (php.ini) Path  C:\Windows,并和刚才修改的php.ini文件位置对应起来,Apache中修改其位置即可,指定文件夹即可,不需要精确到文件名
PHPIniDir "D:\SOFT\amp\php

打通MySQL

PHP作为一个完整的语言包,其本身是作为Apache的一个模块并且被Apache调用,其内部又是有很多个子模块构成,其中就有MySQL。
目的:使用mysql_connect函数

// php.ini中装载MySQL
extension=php_mysql.dll
extension=php_mysqli.dll

// 指出该PHP中该模块的位置,和Apache加载PHP一样的道理
extension_dir = "D:\SOFT\amp\php\ext"
// 连接
$conn = mysql_connect("localhost", "root", "123");

httpd.ext -t

// 可以检测Apache的配置文件中的语法问题
D:\SOFT\amp\apache\bin\httpd.exe -t

虚拟主机配置

// 端口:目的是一台电脑能够对外提供多项服务,以下是行业默认端口
// web服务:80
// ftp服务:21
// 邮件收取服务:110
// 邮件发送服务:25
// mysql数据库服务:3306

虚拟主机:是指一个可以通过浏览器并使用某个域名可以访问的“web应用”,其核心的两件事:

// 主机(站点)的名字:ServerName  
// 主机(站点)的实际文件夹位置:DocumentRoot 站点的实际完整路径

Apache的作用其实就是一个“转换”角色,讲当前电脑中的文件夹对外以某个域名(站点)的方式展示出去,换句话说,站点的本质就是一个文件夹。

当一个请求通过域名解析进入到当前Apache并端口匹配成功后,Apache就会开始提供服务,流程:

// 1、在站点设置中找ServerName项,看是否匹配请求中的地址
// 2、如果找到,则对应的目录(DocumentRoot配置项)中找对应的文件(可能是index.php)
// 3、如果找到,则返回该文件(或调用php语言模块执行后返回)
// 4、如果第二步没有找到对应请求中的域名,那么就将第一个主机当做准备提供服务的主机

只要端口匹配Apache设定,Apache一定会提供服务,即使主机名不匹配。

权限问题
You don't have permission to access / on this server.

需要添加权限,初始的站点所对应的文件夹,安装的时候已经设置好权限了。现在改了,但权限还没设置,所以被禁止。

<Directory "C:\...">
    Options Indexes
    Order deny,allow
    Allow from all
</Directory>
制定默认访问文件
<IfModule dir_module>
    DirectoryIndex index.html aaa.html
</IfModule>
// 如果最终都没有找到,Directory中Options中的Indexes就发挥作用了:显示该文件夹中的所有文件和文件夹
// 也可以将DirectoryIndex设置项放在一个单独的站点或单独的文件夹中,则只对该单独的站点或单独的文件夹起作用。
<Directory "C:\...">
    Options Indexes
    Order deny,allow
    Allow from all
    DirectoryIndex aaa.php
</Directory>
主机别名设置


ServerAlias 别名1 别名2 别名3
文件夹访问控制的文件控制方式

通常,我们在config配置文件中,使用Directory配置项,目的是用来控制文件夹的访问权限。但我们也可以使用一个独立的文件来控制某文件夹的访问权限。该文件名必须是: .htaccess

1,只有后缀和点号(无文件名部分)
2,该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件)
3,Directory设置中必须使用AllowOverride All允许.htaccess发挥作用:
4,.htaccess文件中出现代码,几乎可以跟Directory设定中出现的代码一样
5,如果.htaccess文件有效,则其设置会覆盖Directory中的设置
6,此.htaccess文件修改后可以立即发挥作用,无需重启apache
目录别名设置Alias
一个站点中,如果不存在某个文件夹(目录),我们可以通过配置项,来做到“对外”看起来却存在一样。

但我们可以让该地址“可访问”,这就是目录别名(虚拟目录),通过该技术可以将一个站点之外的“网页/数据/内容”也呈现在当前站点中。
// 设置权限
<Directory "C:\...">
    Options Indexes
    Order deny,allow
    allow from all
</Directory>
// 全局设置真实路径
<IfModule alias_module>
    Alias /soft "C:\..."
</IfModule>
// 局部设置
<VirtualHost *:80>
    ServerName 
    DocumentRoot "C:\..."
    <Directory "C:\...">
        Options Indexes
        Order allow,deny
        allow from all
        DirectoryIndex aaa.php bbb.php
    </Directory>
    Alias /abc "C:\aaa\class"// 
</VirtualHost>

多站点配置

step1
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
step2
NameVirtualHost *:80
step3
<VirtualHost *:80>
    ServerName 
    # 设置主机别名,即用改名也可以访问,前提是域名解析正确
    ServerAlias 
    DocumentRoot "C:\..."
    <Directory "C:\...">
        Options Indexes
        # 允许该文件夹中的.htaccess文件生效
        AllowOverride All
        Order allow,deny
        allow from all
        deny from 192.168.3.33
        # 设定默认访问文件
        DirectoryIndex aaa.php bbb.php
    </Directory>
</VirtualHost>
step4
配置hosts

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务