提交 fe514e32 编写于 作者: 彭世瑜's avatar 彭世瑜

fix

上级 aa511df9
...@@ -35,14 +35,14 @@ ...@@ -35,14 +35,14 @@
4. 域名:Domain Name 4. 域名:Domain Name
- 特殊:127.0.0.1 localhost 代表本机 - 特殊:127.0.0.1 localhost 代表本机
5. DNS Domain Name System 域名系统,域名和 IP 地址相互映射关系数据库 5. DNS Domain Name System 域名系统,域名和 IP 地址相互映射关系数据库
6. 端口 Port 6. 端口 Port
- 虚拟端口:计算机内容或交换机路由器内的端口,不可见端口 - 虚拟端口:计算机内容或交换机路由器内的端口,不可见端口
- 物理端口:又称接口,可见端口 - 物理端口:又称接口,可见端口
7. URL: Uniformed Resource Location 统一资源定位 7. URL: Uniformed Resource Location 统一资源定位
8. URI: Uniformed Resource Identifier 统一资源标识符,目标机器上相对某个文件夹的相对路径 8. URI: Uniformed Resource Identifier 统一资源标识符,目标机器上相对某个文件夹的相对路径
...@@ -75,4 +75,11 @@ ...@@ -75,4 +75,11 @@
![](./img/动态网站访问流程.png) ![](./img/动态网站访问流程.png)
https://www.bilibili.com/video/BV18x411H7qD?p=5&spm_id_from=pageDriver ## 虚拟主机 Virtual Machine
\ No newline at end of file
实现同一台服务器部署多个网站
虚拟主机分类
1. 基于 IP 的虚拟主机,配置多个网卡绑定多个 IP
2. 基于域名的虚拟主机
## 安装PHP
demo.php
```php
<?php
echo "Hello World";
```
解释执行php脚本
```bash
$ php demo.php
Hello World
```
## apache
- httpd 服务器进程
- ab压力测试工具
使用
```bash
# 启动服务
$ httpd
# 查看使用的模块
$ httpd -M
# 检查配置文件
$ httpd -t
```
配置文件 config/httpd.config
```bash
# 网站根路径
DocumentRoot "/www"
# 别名
#ServerName www.example.com:80
ServerName localhost
# 端口
Listen 80
```
Apache 解析PHP代码
```bash
# config/httpd.config
# 加载PHP
LoadModule php5_module 'php5aphache2_2.dll'
# 加载PHP配置文件
PHPIniDir php.ini
# 指定扩展名的解析工作分配给PHP
AddType application/x-httpd-php .php
```
注意: 修改配置文件后需要重启Apache才生效
## 配置本地DNS
修改hosts文件配置本地DNS
```
127.0.0.1 localhost
```
## 安装MySQL
本地测试环境默认账号密码
root 123456
- mysqld 服务
- mysql 客户端
- mysqldump 备份软件客户端
软件设计结构
- C/S Client客户端/Server服务端
- B/S Browser浏览器/Server服务端
连接MySQL服务端
```bash
# 登录
mysql -h主机地址 -P端口(大写) -u用户名 -p密码
eg:
mysql -hlocalhost -P3306 -uroot -p123456
# 退出
\q
```
PHP连接MySQL数据库
PHP加载MySQL扩展 php.ini
# Nginx、PHP-FPM、PHP环境配置
1、Nginx
启动 Nginx
```
$ nginx
```
配置文件 www.mysite.com.conf (注意文件后缀)
```bash
server {
listen 80;
server_name www.mysite.com;
root /www/www.mysite.com;
location / {
index index.html index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
2、启动 php-fpm
```
$ php-fpm
$ ps -A | grep php-fpm
$ lsof -i:9000
```
3、修改 hosts
```
# sudo vim /etc/hosts
127.0.0.1 www.mysite.com
```
4、编辑文件 /www/www.phpsite.com/index.php
```php
<?php
echo 'Hello';
```
浏览器访问: http://www.mysite.com/index.php
```php
// 查看PHP环境
phpinfo();
```
时区设置
```bash
[Date]
date.timezone = "Asia/Shanghai"
```
# 笔记:黑马程序员 PHP 零基础入门到精通教程(P1 基础 6 天) # 笔记:黑马程序员 PHP 零基础入门到精通教程(P1 基础 6 天)
[PHP 基础](blog/php-basic/basic.md) [PHP 基础](blog/php-basic/basic.md)
[PHP 环境配置](blog/php-basic/environment.md)
[PHP 常量和变量](blog/php-basic/variable.md)
# PHP 语法
## PHP 基本语法
PHP 是一种运行在服务器端的脚本于洋,可以嵌入到 HTML 中
1、PHP 代码标记
- ASP 标记(asp_tags,已弃用) `<% php代码 %>`
- 段标记(short_open_tags, 已弃用) `<? php代码 ?>`
- 脚本标记 `<script language="php" >php代码</script>`
- 标准标记(常用) `<?php php代码 ?>`
2、PHP 注释
解析过程中会被忽略
```php
// 行注释
# 注释一行
/* 块注释
* 多行注释
*/
```
3、PHP 语句分隔符(分号)
```php
<?php
echo 'hello world';
echo 'hello world';
```
特殊说明:
- 标记结束符`?>` 可以省略,如果是单独的 PHP 文件,一般会省略
- 最后一行结尾的分号可以省略,不推荐
## PHP 变量
PHP 是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据传递
1、概念
- 变量可以存储数据
- 变量有名字
- 变量可以通过名字访问数据
- 变量可以改变
2、使用
变量必须使用`$`开头
- 定义:在系统内存中增加对应的变量名
- 赋值:将数据赋值给变量,可以再定义的同时完成
- 访问:可以通过变量名访问数据
- 删除:将变量从内存中删除
```php
<?php
// 定义变量
$var1;
// 定义同时赋值
$var2 = 1;
// 访问变量
echo $var2 . '<br>';
// 修改变量
$var2 = 2;
echo $var2 . '<br>';;
// 删除变量
unset($var2);
echo $var2;
```
3、变量命名规则
- PHP 变量名必须以`$`开头
- 可以使用数字,字母,下划线,不能以字母开头
- 支持中文,不建议
```php
<?php
// 正确形式
$var1;$var_2;$_var_3;
// 错误格式
// $1var;
// 支持中文
$中文 = 'china';
```
4、预定义变量(系统定义的变量)
```php
$_GET GET提交的数据
$_POST POST提交的数据
$_REQUEST GET和POST的提交的数据
$GLOBALS 全局变量
$_SERVER 服务器信息
$_SESSION session
$_COOKIE cookie
$_ENV 环境变量
$_FILES 用户上传的文件信息
```
5、可变变量
如果一个变量保存的值,刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值
在变量前多加一个`$`符号
```php
<?php
$a = 'b';
$b = 'bb';
echo $$a;
// 输出:bb
```
6、变量传值
将一个变量赋值给另一个变量
变量传递方式
- 值传递:变量的值复制一份,给另个变量保存,(两个变量没有关系)
- 引用传递:将变量保存的值所在内存地址,赋值给另一个变量,两个变量指向同一块内存地址(两个变量是同一个值)
内存分区
- 栈区:程序可以操作的内存部分,不存数据,运行程序代码
- 代码段:存储程序,不执行
- 数据段:存储普通数据(全局区和静态区)
- 堆区:存储复杂数据,效率低
值传递
```php
$a = 1;
$b = $a;
```
```
栈区 数据段
$a -> 1
$b -> 1(副本)
```
引用传递
```php
$a = 1;
$b = &$a;
```
```
栈区 数据段
$a -> 1
$b -> 1(同一个值)
```
## PHP 常量
常量与变量一样,都是用来保存数据
1、常量的基本概念
- 常量 const / constant 程序运行中,不可改变的量
- 常量一旦定义,通常数据不可改变(用户级)
2、常量定义形式
```php
<?php
// 方式一
define(常量名, 常量值);
// eg
define('PI', 3.14);
// 方式二: php > 5.3
const 常量名 = 常量值;
// eg
const PIPI = 3.14;
```
3、常量命名规则
- 常量不需要使用`$`符号,`$`开头的系统认为是变量
- 常量有数字、字母、下划线组成,不能以数字开头
- 常量名通常以大写字母为主,与变量区别
define 可以定义特殊常量
```php
<?php
define('-_-', 3.14);
```
区别
- 访问权限有区别
- define 定义常量通常区分大小写,可以通过第三个参数设置
```php
define(string $constant_name, mixed $value, bool $case_insensitive = false): bool
// PHP 7.3.0 起废弃了定义不区分大小写的常量。
// ref: https://www.php.net/define
```
4、使用常量
```php
<?php
// 常量
define('PI', 3.14);
echo PI;
// 特殊符号常量
define('-_-', 3.14);
echo constant('-_-');
```
5、常量和变量的使用
- 数据可能会变化的,使用变量
- 数据不一定不会变化,使用常量或变量
- 数据不允许修改,一定使用常量
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册