文章目录
PHP 环境搭建
PHP 概念
PHP 是一门后端(服务器)语言,主要用来开发web系统(网站)
环境
开发PHP的环境
- 操作系统,windows 或者 Linux 或者 mac
- web服务器,apache(阿帕奇)
- php 解释器
- 数据库,mysql、sql server、oracle
安装开发环境
- 安装路径不能包含中文
- 建议安装到C盘(系统盘)以外的其他盘
出现如下界面,表明phpstudy安装完成
[外链图片转存失败(img-OygZB5fu-1563176537510)(0B041E1FADA94E3C9C9B926A75790580)]
地址栏中输入如下地址
出现如下界面,表明php开发环境配置成功
[外链图片转存失败(img-6iFrxf9f-1563176537512)(95D4192D9146459CAB7AFB040D5017D7)]
选择php版本
将php版本切换成 7.0.12
phpstorm 安装
建议安装到默认目录
破解
访问如下地址
修改hosts 文件
搜索“记事本”,右键“以管理员身份运行”,然后“文件”-》打开,打开hosts 文件,hosts 文件目录如下
C:\Windows\System32\drivers\etc\hosts
打开之后,将如下内容拷贝到此文件中
0.0.0.0 account.jetbrains.com
0.0.0.0 www.jetbrains.com
然后保存文件
获得注册码
点击“获得注册码”
[外链图片转存失败(img-MY8ueQuj-1563176537513)(DFB6B88C41954D829FDE681716EAFF11)]
将生成的注册码,拷贝到 phpstorm 中,并点击“ok”
[外链图片转存失败(img-2VuuUUyh-1563176537515)(E42452B39DBE4AC0BE658CE71CEDD987)]
编写php 页面
找到如下目录
D:\phpStudy\PHPTutorial\WWW
在此目录下新建文件 0715
在 0715 目录下新建文件 index.php
[外链图片转存失败(img-hGDcwD8l-1563176537516)(0CCA74F67A374A75A86ED91246BD7898)]
然后使用 phpstorm 打开此文件
[外链图片转存失败(img-dGl6Tbib-1563176537518)(01839C004F0347A3918166C2747BCE95)]
编辑 index.php 的代码
<?php
echo "今天是星期一";
通过下面地址访问 index.php
http://localhost/0715/index.php
地址分析
[外链图片转存失败(img-QOUUhBK5-1563176537518)(CBB32B1E563445B4ACDDBE74B965E1FF)]
- 主机地址:表示的是我们编写的php文件所在的计算机的地址,localhost 表示本机,127.0.0.1 也表示本机。对于当前环境来说,localhost 对应的物理地址就是 D:\phpStudy\PHPTutorial\WWW
- 目录名称:其实就是我们的php项目名称,项目都要放到 www 目录下
- 文件名称:每个项目都是由一个多着多个文件组成,想要访问哪个文件,直接在浏览器地址栏中输入此文件名称即可
在 phpstorm 中新建一个 php 文件
[外链图片转存失败(img-8eRG6zfE-1563176537520)(0BED6C01F7C94247BC8F6248294E7E32)]
配置虚拟主机
如果没有将php项目放到 www 目录下,而是放到其他目录,就需要为此目录创建虚拟主机
比如在 D:\developer\php 目录下创建了 book 目录,则需要为此目录配置虚拟主机
配置方法
进入如下目录
D:\phpStudy\PHPTutorial\Apache\conf
编写如下代码
<VirtualHost _default_:80>
DocumentRoot "D:\developer\php\book"
ServerName www.book.cn
<Directory "D:\developer\php\book">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
打开 hosts 文件,在文件后面加入代码
127.0.0.1 www.book.cn
重启 apache 服务
[外链图片转存失败(img-nkNnfSmI-1563176537521)(7ADF6C7185AB49A0B5DE8797E394E7D5)]
在地址栏中,输入如下地址进行访问
[外链图片转存失败(img-BJA3hGf1-1563176537522)(023F33767C0A489F981D1E782DF207BC)]
说明:如果要访问的文件名称为 index.php 或者 index.html ,则不用输入文件名称,因为默认访问的文件名称就是这两个
测试 mysql 是否安装成功
php编程初体验
体验地址:
案例包含的技术
- php 的条件语句、循环
- sql语句
- php操作mysql
php文件中如何编写代码
.php 文件中既可以编写 html、css 和 js 代码,也可以编写 php 代码,那么如何区分呢? php 代码必须写在如下标记之间
<?php ?>
在这对标记外面就可以编写html、css和js代码了
案例
<html>
<head>
<title>群聊天</title>
</head>
<body>
<p>这是我们班级的聊天群</p>
</body>
</html>
<?php
echo '这是时php'
?>
配置虚拟主机
修改配置文件
找到 D:\phpStudy\PHPTutorial\Apache\conf 路径下的 vhosts.conf 文件
添加如下代码
<VirtualHost _default_:80>
DocumentRoot "D:\developer\php\talk"
ServerName www.talk.cn
<Directory "D:\developer\php\talk">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
修改 hosts 文件
使用记事本,以管理员身份打开 hosts 文件,并加入如下代码
127.0.0.1 www.talk.cn
重启 apache 服务器
说明:如果配置虚拟主机时出现错误,则可能会导致 apache 无法启动
[外链图片转存失败(img-N29ckcl0-1563176537524)(19B80161D61E488599C23A09F5354D8D)]
编写html代码
<html>
<head>
<title>群聊天</title>
</head>
<body>
<div class="main">
<div class="top">
<ul>
<li>
<p>ip地址为121.17.99.59的用户在2019-07-15 14:03说</p>
<p>今天天气不错</p>
</li>
<li>
<p>ip地址为121.17.99.59的用户在2019-07-15 14:03说</p>
<p>今天天气不错</p>
</li>
</ul>
</div>
<div class="comment">
<form action="" method="post">
<input type="text" name="title">
<input type="submit" value="发表">
</form>
</div>
</div>
</body>
</html>
创建数据库
新建数据库
[外链图片转存失败(img-GMiNLLPl-1563176537524)(5D4509E6AE2240C6A1E376ABB6434B92)]
双击 talk ,编程绿色之后,在菜单栏中选择“查询”=》新建查询,编写创建表的 sql 语句
create table comments(
id int auto_increment primary key,
title varchar(100) not null default '',
create_time int,
addr varchar(50) not null default ''
)
编写php代码
<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
//展示留言
//使用php的mysqli组件连接上想要操作的数据库
$con = mysqli_connect('localhost', 'root', 'root', 'talk');
$sql="select * from comments order by create_time desc";
$res=mysqli_query($con,$sql);
if($res==false){
echo 'faild';
}else{
$comments=[];
while($row=mysqli_fetch_assoc($res)){
$comments[]=$row;
}
/*echo ('<pre>');
print_r($comments);
echo('</pre>');*/
}
} else {
//获取留言内容
$title = $_POST['title'];
//获取留言发表时间
$time = time();
//获取用户的ip地址
$addr = $_SERVER['REMOTE_ADDR'];
//使用php的mysqli组件连接上想要操作的数据库
$con = mysqli_connect('localhost', 'root', 'root', 'talk');
//编写要在mysql数据库中执行的sql语句
$sql="insert into comments(title,create_time,addr) values('$title',$time,'$addr')";
//将sql语句发送到mysql数据库中执行
$res=mysqli_query($con,$sql);
if($res==false){
echo 'faild';
}else{
//成功后重新从上到下执行一次 index.php
header('location:index.php');
}
}
?>
<html>
<head>
<title>群聊天</title>
</head>
<body>
<div class="main">
<div class="top">
<ul>
<?php foreach($comments as $item){?>
<li>
<p>ip地址为<?php echo $item['addr']?>的用户在
<?php echo date('Y-m-d',$item['create_time'])?>说</p>
<p><?php echo $item['title']?></p>
</li>
<?php } ?>
</ul>
</div>
<div class="comment">
<form action="" method="post">
<input type="text" name="title">
<input type="submit" value="发表">
</form>
</div>
</div>
</body>
</html>