PHP配置加强二

2024-05-31 10:58
文章标签 配置 php 加强

本文主要是介绍PHP配置加强二,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运行原理--------服务器中的服务器软件和浏览器进行交互; 服务器本身有操作系统,上面装服务器软件,如Apache,tomcat,IIS等;PHP是运行在服务器端的脚本语言,PHP模块也放在服务器中,可以执行php代码;数据库也放在数据库中;Apache调用php------php调用数据库;

-------------------------------------

客户端技术:HTML,css,javascript;

服务器端技术:服务器软件,服务器语言,数据库;

apache安装后默认的主页站点位置在:apache/htdocs/

localhost    就代表本机服务器,

www.lambo.com---浏览器找到域名对应的IP,再去请求IP所代表的服务器,只有IP才能准确确定一台服务器(一台电脑)的准确位置;域名转换为IP的过程称为域名解析;互联网上有很多解析域名的服务器,叫DNS域名解析服务器;

操作系统文件可以设置重定向,解析域名-------Windows/system32/drivers/etc/hosts;

host s就是文件名,没有后缀,但是他是纯文本文件;他是系统文件,需要管理员身份才能修改;

---------------------------------



------------------命令行运行-----------------------

php 语言包无需安装,copy后只要放在合适的位置即可;

php模块中有一个可执行文件php.exe ,

php命令行(cmd)运行模式:方法1运行路径-----,路径/php.exe -f ”自己写的php文件路径''(注意php.exe文件的路径要加上,否则找不到)

方法2运行代码-----.路径/php.exe  -r "自己写的PHP代码"

-----------------------------------------------------------配置apache----在apache中配置PHP---------------------------------------

php只是apache的一个功能模块;需要自己配置

配置apache,----------初始安装apache后还不能运行php脚本代码,好需要对apache进行自定义配置,主配置文件位置:apache/conf/httpd.conf


如上图:

第一步:添加LoadModule php_module "php5的模块文件路径”(php路径/php5apache2_2.dll文件,Windows系统中正反斜杠都可以)--------表示装载php5模块文件

第二部:指定php后缀的文件应该调用该php模块去执行;-------

<FilesMatch "\.php$">

setHandler application/x-httpd-php

</FilesMatch >

\.php$-------表示所有php后缀的文件;

setHandler application/x-httpd-php----------------------表示该类由php模块执行,固定写法;


第二部还有一种方法:在 <ifModule mime_module>中添加   AddType  application/x-httpd-php .php .php3 .php


php其实也是作为apache的其中一个功能模块而已;无默认配置,需要自己配置;


配置了php模块后,还需要指定php.ini的位置;

--------------------------配置基本文件php.ini------需要吧下面图中的文件改成.ini结尾-----


图中的两个文件,根据开发和发布选择更改一个即可;


--------------------------在apache中指定php.ini的位置-----------------------



apache还不知道php配置文件的位置;需要在apache中设定php.ini的文件位置-------------PHPInDir "php.ini所在的文件夹路径”(只要设定文件夹就可以,路径中不包含php.ini这个文件本身


----------------------------------------------------------------------

配置时区------在配置文件中找到 date.timezone=PRC;



------------------------------------配置环境变量---------------------------

设置环境变量:就是将一些常用的目录位置加入到操作系统的path路径设置中去,我么通常可以加入以下的:

apache的bin目录:

mysql的bin目录:

设置环境变量后,文件的路径就可以省略了,直接使用文件;(在终端中使用mysql命令时,需要先配置环境变量)

计算机-----属性-----高级系统设置---------高级---环境变量-----系统变量-----path----编辑:添加上上述目录,用英文分号隔开;

--------------------------检测apache的语法问题---------------------------------------

检测apache配置文件的语法:

使用aache/bin目录中的httpd.exe -t

--------------------------php功能模块配置----------------------------------------

php内部是一个完整的语言包,里面有很多功能模块;

在php.ini中有很多扩展功能;可以打开或关闭;

--------------------打开数据库功能模块:---------------------

这两个只是开关:extension =php_mysql.dll

entension =php_mysqli.dll

还需要设置数据库模块的位置;

配置数据库连接机制

打开扩展模块:-------------设置数据库模块的位置(对比apache打开php的模块语法)

#extension_dir = "./"

#On windows

entrnsion_dir ="C:/it/wamp/php/ext"(该项指定php中的各个模块(包括数据库模块)实际存放位置------------所有模块位置统一指定)


-------------------------------------------------------------

php链接数据库的函数:$connc=mysql_connect("localhost","root","123");


--------------------------------------------------------------安装mysql数据库

MYSqll server ------------mysql的安装位置,推荐放在自定义的MYSQL文件夹中

server data files ----------------数据存放的位置,推荐选择自定义的MYSQL文件夹中;

配置数据库很复杂:


 选择custom------


选择detailonfig-------



next---





点击excute-----才-执行上面的配置;


------------------------------------------------------------------



如下图:apache只提供80端口服务,没有提供8080端口服务,如果用8080端口,就显示网页不存在;


apache设置支持多个端口服务:


apache的详细配置;


如果请球的是www.php34.com则在C://itcast/class/bj-php024/amp/apache/htdocs中找相对应的网页;

浏览器通过域名经过DNS解析找到服务器这台电脑,找到这台电脑后匹配端口,然后apache就提供服务;(域名对应的iP与系统的host文件中设置有关;决定能不能进入服务器的apache;)




apache的端口监听设置,是指设定Apache这个软件针对当前的服务器的那些端口提供web服务;apache的配置文件httpd.conf中的Listen 80(对80端口提供服务),可以设置多个端口号;

主机配置的关键项:虚拟主机/web站点-------------------可以通过浏览器,使用域名访问的web应用;

主机(站点)的名字:ServerName “主机名”

主机(站点)的路径:DocumentRoot “htdocs路径”


配置的方式添加文件夹的访问权限:

<Directory  "documentRoot的htdocs路径">

Option Indexes----------用于设定可显示文件列表(当无可显示网页的时候)

Order deny,allow--------------用于权限的判定顺序:先拒绝,后允许;

Deny from 192.168.0.1--------------拒绝这个IP的访问(只有在局域网中才有点意义)

allow from all---------------------允许所有IP访问

DirecoryIndex base.php------------设置默认网页--这里设置只对当前的路径有效

AllwOverride all--------允许.htccess文件发挥作用

</Directory>


可以设置默认网页给用户;形式如下:

<IfModule dir_module>

DirectoryIndex  index.html   ss.php---------------- 可以设置多个默认网页,这里设置是全局有效;依次寻找

</IfMdule>

对于指定要访问的明确网页的请求,会按照顺序一次往后寻找,如果都没有找到,就打开目录文件夹中的所有文件和文件夹

如下图:


-----------------------------------------------------

主机别名设置:ServerAlias  别名1 别名2 别名3.。。。。

一般有两种形式访问一个站点:1.http://www.bc.ccom      2.http://abc.com


目录别名设置:Alias  /soft   "真实的路径"--------------------------------目录别名可以将站点之外的网页/数据、内容放到当前站点中; 

一个站点就是一个文件夹,该文件夹中有其下一级文件夹目录,实际存在的下一级目录可以按照正常的文件夹访问层级关系进行访问,





----------------------------------------

文件夹访问控制的文件控制方式:

通常我们在config的配置文件中,使用directory配置项,目的是用来控制文件夹的访问权限,但我们也可以使用一个独立的文件来控制某文件夹的访问权限

该文件名必须是:   .htacces

注意:1.只有后缀和点号(无需文件名部分)

2.该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放置不同的该文件)

3.其上级文件夹(通常是Directory中设定的文件夹)必须使用如下代码允许 htcces发挥作用:AllwOverride all;

4..htccess 文件中出现的代码几乎和Directory设定中出现的代码一样;

5.如果.htccess 的文件有效,则其设置会覆盖其上一级的设置;

6.   .htaccess文件修改后立即生效,无需重启apache;


-------------(配置多个虚拟主机)多站点配置-----------一个虚拟主机可以配置一个站点,也可以配置多个站点--------------

:1,httpd.conf中打开多站点配置  Include  conf/extra/httpd-vhosts.conf打开注释

2.htpd-vhosts中设置要进行多站点配置的IP和端口形式如下:

NameVirualHost  IP : 端口   

NameVirualHost  * : 80-----默认已经设置好了

*号代表当前服务器的所有IP(虚拟主机)地址;-----通常是一个IP;------------------一台服务器可以设置多个虚拟主机;

下面是配置一个站点,其他的站点同样;进行了多站点配置,httpd.conf中的配置就失效了

站点一:

<VirtualHost *:80>

ServerName www.php34.com-------主机

ServerAlias php34.com--------主机别名(用该别名也可以访问,但是域名要解析)

DocumentRoot "dddd"------根目录

<Directory "dddd">-----设置权限-------文件夹的路径要和上面的documentRoot的路径一致

Options Indexes

AllowOverride All

Order allow,deny

allow from all

deny from 192.163.2.33------决绝这个IP访问

DirectoryIndex  p1.php p2.php  ------默认网页

</Directory>

</VirtualHost>

----------------------------------

站点二:同上



---------------------------------------------------------

mysql客户端有多种:cmd命令行,PHP网页文件,navicate;

虚拟主机的配置:

总共有有6万多个端口,通常一台服务器只提供几个货十几个服务,

常用端口:

web服务:80

ftp:21

邮件收取服务:110;

邮件发送:25;

MYSQL数据库服务:3306

---------------------------------------------------------------------------


配置多个虚拟主机:

1.打开Apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#!!

2.打开Apache的apache/conf/extra下的次配置文件httpd-vhosts.conf

3.将此文件下的原有的扩展配置文件(如下):删除一个或两个

复制代码
    <VirtualHost *:80>ServerAdmin webmaster@dummy-host2.localhostDocumentRoot /www/docs/dummy-host2.localhostServerName dummy-host2.localhostErrorLog logs/dummy-host2.localhost-error_logCustomLog logs/dummy-host2.localhost-access_log common</VirtualHost>
复制代码

4.在httpd-vhosts.conf文件的末尾添加上:

复制代码
  <VirtualHost *:80>DocumentRoot D:/wamp/website/a.comServerName www.a.com<Directory "D:/wamp/website/a.com">Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory></VirtualHost>
复制代码

5.打开在C:/WINDOWS/system32/drivers/etc中的hosts文件中加上如下的内容

127.0.0.1    www.a.com

6.这样我们就配置好了名为wamp的虚拟主机,重启一下我们在浏览器中输入wamp就可以查看到D:/wamp/www目录下的内容了!!

7.但是这样localhost访问则出现了问题,这时需要我们,同样将localhost设为虚拟主机

复制代码
<VirtualHost *:80>DocumentRoot D:/wamp/wwwServerName localhost<Directory "D:/wamp/www">Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory></VirtualHost>
复制代码

8.为了让其他电脑用IP访问电脑,需要在httpd.conf 中搜索127.0.0.1,修改为all





这篇关于PHP配置加强二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017782

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定