PHP学习

First Post:

Last Update:

Word Count:
948

Read Time:
4 min

PHP学习

About PHP

简介

PHP: Hypertext Preprocessor, 超文本预处理器。php是一种功能强大,并简便易用的脚本语言,它可嵌入到HTML中,尤其适合web开发。

起源

1994年, Rasmus床找了php,(这完全是个人爱好)

1997年,Zeev, Andi重写解析器,发展到PHP3 (有了队伍)

2000年五月,php4发布,它使用了Zend引擎(Zeev+andi)。(有了标准)

2004年7月,php5正式发布。( 飞速发展,不断创新)

php官方网址: www.php.net

特点

php是免费的

效率高: php消耗相当少的系统资源

易学易用,功能强大

跨平台

嵌入HTML

面向对象

运行环境

WAMP: windows + apache + mysql + php

WNMP: windows + nginx + mysql + php

LAMP: linux + apache + mysql + php

LNMP: linux + nginx + mysql + php

官方网站

php: http://www.php.net

mysql: http://www.mysql.com

apache: http://www.apache.org

windows下:

推荐软件: phpstudy

网址: https://ww.xp.cn

推荐软件2: appsrv-win32

网址: http://www.appservnetwork.com

linux下:

  1. 宝塔

  2. (appceh/nginx, mysql, php)单独安装

  3. phpstudy-linux面板

VSCode

装饰特效

安装 Power Mode

设置中搜索setting.json,添加如下:

1
2
3
4
5
{
"powermode.enabled": true,
"powermode.enableShake" : false,
"powermode.presets": "particles"
}

Linux下环境搭建:

httpd + php + mysql

1
sudo vim /etc/httpd/conf/httpd.conf

添加php模块到httpd中

编辑 /usr/local/apache2/conf/httpd.conf 文件时要注意:

找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:

1
2
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

找到: DirectoryIndex index.html
添加:

1
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>

找到: #ServerName www.example.com:80
修改为: ServerName 127.0.0.1:80或者ServerName localhost:80 记得要去掉前面的“#”

修改默认的Web站点目录

找到:DocumentRoot “/usr/local/apache2/htdocs”
修改为:DocumentRoot “/home/www/WebSite” –该目录为自己创建的目录

找到:<Directory “/usr/local/apache2/htdocs”>
修改为:<Directory “/home/www/WebSite”>

https://www.jianshu.com/p/c36dd3946e74

Docker

1
2
docker pull nginx
docker pull php:fpm

指定宿主机目录

nginx 配置挂载宿主机文件

借助 -v 参数,我们在宿主机新增一个目录存放 nginx 配置,然后指定容器 nginx 配置目录挂载到宿主机
在执行命令之前,我们先写好一个配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
root /usr/share/nginx/www;
index index.html index.php;
server_name localhost;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}

运行

1
2
3
4
5
6
7
docker run \
--rm \
--name php-nginx \
-p 8080:80 \
-v /home/i0gan/php/www:/usr/share/nginx/www \
-v /home/i0gan/php/conf/nginx:/etc/nginx/conf.d \
nginx

在 www 新增一个 php 文件

1
2
3
<?php
phpinfo();
?>
1
2
3
4
docker run \
--rm \
--name php-fpm \
php:fpm \

https://juejin.cn/post/6844903914211393550

PHP代码标记

在php历史发展中,可以使用多种标记来区分php脚本

asp标记: <% php代码 %>

短标记:

以上两种已经弃用,如果要使用那么需要在配置文件中开启

脚本标记:

1
2
3
4
5
6
7
8
9
<html>
<body>
<b>
<script language="php">
echo "hello world";
</script>
</b>
</body>
</html>

标准标记:

1
2
3
4
5
6
7
8
9
10
<html>
<body>
<b>
<?php
echo("hello world\n");
?>
asdfasdfasd
</b>
</body>
</html>

注释

//: 后面所跟的内容全部都是注释

#: 与 //一样

/**/

语句分割符

;

变量

变量的使用

1
2
3
$var; //定义变量
$var2 = 1; //定义并赋值
unset($var2) // 删除变量

预定义变量

都是数组

$_GET

$_POST

$_REQUEST

$_GLOBALS

$_SERVER

$_SESSION

$_COOKIE

$_ENV

$_FILES

可变变量

如果一个变量保存的值刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值:在变量前面再多加一个$符号

1
2
3
$a = 'b';
$b = 'bb';
echo $$a;
打赏点小钱
支付宝 | Alipay
微信 | WeChat