win7系统下如何配置php-Apache-mysql环境,win7apache配置
如何在win7系统下配置php环境呢,php+Apache+mysql都是在配置过程中必不可少的元素,php负责解析php代码,apache负责服务器端而mysql是数据交互的中转站。
那么如何将php+apache+mysql配置好呢,接下来我们看一下具体的方法,软件版本会改变所以需要自己因时制宜,随机应变。
第一步:
php-5.5.10-Win32-VC11-x64.zip 下载地址: http://windows.php.net/download/
httpd-2.4.7-win64-VC11.zip 下载地址: http://www.apachelounge.com/download/
mysql-5.6.16-winx64.zip 下载地址: http://dev.mysql.com/downloads/mysql/
第二步:
安装配置Apache2.4.7(httpd-2.4.7-win64-VC11.zip )
1、解压下载的安装包:httpd-2.4.7-win64-VC11.zip将其放到自己的安装目录(我的目录D:\phpEnv\Apache24)

(1)修改ServerRoot Apache的根路径:
(37行)ServerRoot"c:/Apache24"改成=>ServerRoot "D:/phpEnv/Apache24"
(2)修改ServerName你的主机名称:
如果此行不修改则启动apache 提示Starting httpd: AH00558
(217行)ServerName www.example.com:80将前面的#去掉,该属性在从命令行启动Apache时需要用到。
(3)修改DocumentRoot Apache访问的主文件夹目录,就是php、html代码文件的位置。Apache默认的路径是在htdocs(D:\phpEnv\Apache24\htdocs)下面,里面会有个简单的入口文件index.html。这个路径可以自己进行修改,我这里将其配置在我自己新建的文件夹www(D:\phpEnv\www)下。
(247行) DocumentRoot "c:/Apache24/htdocs"
改为=>
DocumentRoot "D:\phpEnv\www"
(4)修改入口文件配置:DirectoryIndex一般情况下我们都是以index.php、index.html、index.htm作为web项目的入口。Apache默认的入口只有index.html需要添加其他两个的支持,当然这个入口文件的设置可以根据自己的需要增减,如果要求比较严格的话可以只写一个index.php,这样在项目里面的入口就只能是index.php
(274行)
DirectoryIndex index.html
改为=>
DirectoryIndex index.php index.htm index.html
(5)设定serverscript的目录:
(358行)ScriptAlias/cgi-bin/ "c:/Apache24/cgi-bin/"改为=> ScriptAlias/cgi-bin/ "D:/phpEnv/Apache24/cgi-bin"
(6)(380行)
AllowOverride None
Options None
Require all granted
改为=>
AllowOverride None
Options None
Require all granted
3、接下来就可以启动Apache了
开始---运行,输入cmd,打开命令提示符。接着进入D:\phpEnv\Apache24\bin目录下回车httpd回车,如图所示.
没有报错的话就可以测试了(保持该命令窗口为打开的状态)。
把Apache24\htdocs目录下的index.html放到D:\phpEnv\www目录下,用浏览器访问会出现“It works”那么就说明apache已经正确安装并启动了。也可以自己写一个简单的index.html文件也可以打开。
4、将Apache加入到window服务启动项里面并设置成开机启动
先关闭httpd的服务(将命令窗口关闭即可)
重新打开一个新的命令窗口进入到D:\phpEnv\Apache24\bin目录下:
添加HTTP服务的命令是:httpd.exe -kinstall -n "servicename" servicename是服务的名称,我添加的是:httpd.exe -k install -n "Apache24"命令成功后会有成功的提示,此时你可以在window服务启动项中看到Apache24这个服务
然后点击启动就可以了,如果不想设置成开机启动的话也可以将启动类型修改为手动。
如果要卸载这个服务的话,先要停止这个服务,然后输入httpd.exe -k uninstall -n "Apache24"卸载这个服务。
当然也可以通过D:\phpEnv\Apache24\bin下面的ApacheMonitor.exe来启动Apache这里就不多说了
如此Apache的配置就基本完成了。
二、安装配置php5.5.10(php-5.5.10-Win32-VC11-x64.zip)
1、将下载的php-5.5.10-Win32-VC11-x64.zip 解压到安装目录下我的是(D:\phpEnv\php)
2、将目录下的php.ini-development文件复制一份并改名为php.ini他是php的配置文件
3、为Apache服务添加php支持
打开Apache的配置文件http.conf在最后加上
# php5 support
LoadModule php5_module “D:/phpEnv/php/php5apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .html .htm
# configure thepath to php.ini
PHPIniDir "D:/phpEnv/php"
这里我添加在LoadModule下面
添加的时候要保证你的php5apache2_4.dll文件确实存在php5.5的早期版本里面是没有这个文件的,不过高点版本里面已经有了,可以打开php安装目录找下这个文件
PHPIniDir"D:/phpEnv/php"这个就是你的php根目录

4.重启Apache服务器。
5.测试。删除www中其他文件,新建一个index.php,内容为保存,访问出现php的信息就说明php已经成功安装。
备注:
Php的一些常用配置修改:(D:\phpEnv\php\php.ini)
时区的设置:date.timezone = Asia/Shanghai
错误报告等级:error_reporting = E_ALL这个在开发模式下可以全部打开。
三、安装配置mysql5.6.16(mysql-5.6.16-winx64.zip)
1、安装mysql
64位的mysql暂时没找到msi的安装包,因此直接解压到安装目录下,然后配置相关的环境变量,修改配置文件,添加window服务就行,这里就不详细写了。这里把我的配置文件贴出来给大家参考下:
[mysqld]
loose-default-character-set = utf8
basedir = D:/program/mysql-5.6
datadir = D:/program/mysql-5.6/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server = utf8
[client]
loose-default-character-set = utf8
注:basedir是mysql的根目录,datadir是mysql的数据存储目录。其他的我就不做解释了
安装完mysql是没有图形用户界面的,可以安装个Navicat for MySQL之类的软件,这样看起来会比较方便点。
将mysql注册成为服务:mysqld.exe --install mysql
将mysql服务进行删除:mysqld.exe --remove mysql
2、安装完成mysql之后,为php添加mysql支持
打开php的配置文件php.ini(D:\phpEnv\php\php.ini)
(1)(721行); extension_dir = "ext",去掉前面的“;”,并改为extension_dir ="D:\phpEnv\php\ext"打开php的扩展支持,ext文件夹下有很多php的扩展支持.dll文件,感兴趣的同学可以看一下。
(2)然后就是打开php的mysql扩展了
(875、876行)去掉前面的“;”
extension=php_mysql.dll
extension=php_mysqli.dll
当然也可以打开881行的php_pdo_mysql.dll启用php的pdo支持我一般都用这个。
注:在第863行到第888行有很多扩展选择,你要用到什么,去掉前面的“;”就可以了。当然如果要添加其他的扩展支持如redis支持,php本身可能没有提供相应的dll文件,就需要自己去找到相应版本的dll添加到ext文件夹中,然后在配置文件中添加一个extension=…
完成之后,重启Apache
3)、启动MySQL服务
net start mysql
MySQL服务正在启动
.
MySQL服务无法启动。
4)、登陆MySQL服务器
mysql -uroot
-p
Enter password:
Welcome to the MySQL monitor. Commands end with
; or \g.
Your MySQL connection id is 1
Server version: 5.1.32-community
MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to
clear the
buffer.
mysql>
注意:MySQL的管理员用户名为root,密码默认为空。
5)、查看数据库
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
| information_schema |
| mysql |
|
test |
+--------------------+
3 rows in set (0.02
sec)
可以看到MySQL服务器中有三个数据库。
6)、使用数据库
mysql> use test
Database
changed
7)、查看数据库中的表
mysql> show
tables;
Empty set (0.00 sec)
8)、创建表ttt
mysql> create table ttt(a int,b varchar(20));
Query OK,
0 rows affected (0.00 sec)
9)、插入三条数据
mysql> insert into ttt values(1,'aaa');
Query OK, 1 row
affected (0.02 sec)
mysql> insert into ttt
values(2,'bbb');
Query OK, 1 row affected (0.00
sec)
mysql> insert into ttt
values(3,'ccc');
Query OK, 1 row affected (0.00
sec)
10)、查询数据
mysql> select * from
ttt;
+------+------+
| a | b |
+------+------+
| 1 | aaa
|
| 2 | bbb |
| 3 | ccc |
+------+------+
3 rows in set (0.00
sec)
11)、删除数据
mysql> delete from ttt where
a=3;
Query OK, 1 row affected (0.01
sec)
删除后查询操作结果:
mysql> select * from ttt;
+------+------+
| a | b |
+------+------+
| 1 | aaa |
| 2
| bbb |
+------+------+
2 rows in set (0.00
sec)
12)、更新数据
mysql> update ttt set b =
'xxx' where a =2;
Query OK, 1 row affected (0.00 sec)
Rows matched:
1 Changed: 1 Warnings: 0
查看更新结果:
mysql> select * from ttt;
+------+------+
| a | b
|
+------+------+
| 1 | aaa |
| 2 | xxx |
+------+------+
2 rows
in set (0.00 sec)
13)、删除表
mysql> drop
table ttt;
Query OK, 0 rows affected (0.00
sec)
查看数据库中剩余的表:
mysql> show
tables;
Empty set (0.00
sec)
三、更改MySQL数据库root用户的密码
1、使用mysql数据库
mysql>
use mysql
Database
changed
2、查看mysql数据库中所有的表
mysql>show
tables;
+---------------------------+
| Tables_in_mysql
|
+---------------------------+
| columns_priv |
| db |
| func
|
| help_category |
| help_keyword |
| help_relation |
| help_topic
|
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone
|
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition
|
| time_zone_transition_type |
| user
|
+---------------------------+
17 rows in set (0.00
sec)
3、删除mysql数据库中用户表的所有数据
mysql> delete
from user;
Query OK, 3 rows affected (0.00
sec)
4、创建一个root用户,密码为"xiaohui"。
mysql>grant all on *.* to root@'%' identified by 'xiaohui' with
grant option;
Query OK, 0 rows affected (0.02
sec)
5、查看user表中的用户
mysql> select User from
user;
+------+
| User |
+------+
| root |
+------+
1
row in set (0.00 sec)
6、重启MySQL:更改了MySQL用户后,需要重启MySQL服务器才可以生效。
net stop mysql
MySQL 服务正在停止..
MySQL
服务已成功停止。
net start mysql
MySQL 服务正在启动
.
MySQL 服务已经启动成功。
7、重新登陆MySQL服务器
mysql
-uroot -pxiaohui
Welcome to the MySQL monitor. Commands end with ; or
\g.
Your MySQL connection id is 1
Server version: 5.1.32-community MySQL
Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the
buffer.
mysql>
如果修改密码后net
startmysql出现不能启动mysql的1067错误,则可以使用以下办法解决:
使用cmd命令:D:\Appserv\mysql\bin\mysqladmin
-uroot -p shutdown,然后输入密码,再net start mysql
就没有这个错误提示了!
四、数据库的创建与删除
1、创建数据库testdb
mysql>
create database testdb;
Query OK, 1 row
affected (0.02 sec)
2、使用数据库testdb
mysql>
use testdb;
Database changed
3、删除数据库testdb
mysql> drop database testdb;
Query OK, 0 rows affected
(0.00 sec)
4、退出登陆
mysql>exit
Bye
C:\Documents and
Settings\Administrator>
五、操作数据库数据的一般步骤
1、启动MySQL服务器
2、登陆数据库服务器
3、使用某个要操作的数据库
4、操作该数据库中的表,可执行增删改查各种操作。
5、退出登陆。

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

세션 관련 XSS 공격으로부터 응용 프로그램을 보호하려면 다음 조치가 필요합니다. 1. 세션 쿠키를 보호하기 위해 Httponly 및 Secure 플래그를 설정하십시오. 2. 모든 사용자 입력에 대한 내보내기 코드. 3. 스크립트 소스를 제한하기 위해 컨텐츠 보안 정책 (CSP)을 구현하십시오. 이러한 정책을 통해 세션 관련 XSS 공격을 효과적으로 보호 할 수 있으며 사용자 데이터가 보장 될 수 있습니다.

PHP 세션 성능을 최적화하는 방법 : 1. 지연 세션 시작, 2. 데이터베이스를 사용하여 세션을 저장, 3. 세션 데이터 압축, 4. 세션 수명주기 관리 및 5. 세션 공유 구현. 이러한 전략은 높은 동시성 환경에서 응용의 효율성을 크게 향상시킬 수 있습니다.

THESESSION.GC_MAXLIFETIMESETTINGINSTTINGTINGSTINGTERMINESTERMINESTERSTINGSESSIONDATA, SETINSECONDS.1) IT'SCONFIGUDEDINPHP.INIORVIAINI_SET ()

PHP에서는 Session_Name () 함수를 사용하여 세션 이름을 구성 할 수 있습니다. 특정 단계는 다음과 같습니다. 1. Session_Name () 함수를 사용하여 Session_Name ( "my_session")과 같은 세션 이름을 설정하십시오. 2. 세션 이름을 설정 한 후 세션을 시작하여 세션을 시작하십시오. 세션 이름을 구성하면 여러 응용 프로그램 간의 세션 데이터 충돌을 피하고 보안을 향상시킬 수 있지만 세션 이름의 독창성, 보안, 길이 및 설정 타이밍에주의를 기울일 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
