Linux 基础知识

基本命令

  • hostname -i: 查看服务器本地IP

  • find: find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    # find的使用格式如下:
    
    $ find <指定目录> <指定条件> <指定动作>
      - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
      - <指定条件>: 所要搜索的文件的特征。
      - <指定动作>: 对搜索结果进行特定的处理。
    如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
    
    # find的使用实例:
    
    $ find ./ -name 'my*'
    搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
    
    $ find ./ -name 'my*' -ls
    搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
    
    $ find . -type f -mmin -10
    搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
    
  • nohup: 不挂断地运行命令,该命令的一般形式为:nohup command &

PHP 开发环境之 Lnmp

Install

  • Linux 一键搭建 Lnmp 环境

    1
    2
    
    # 教程
    https://github.com/licess/lnmp OR https://lnmp.org
    
  • MacOs 一键搭建 Lnmp 环境

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    
    # 教程
    https://github.com/yeszao/dnmp
    
    # 常用命令
    $ cd ~/dnmp
    $ docker-compose build # 镜像构建
    $ docker-compose up -d                      # 创建并且后台运行方式启动所有容器
    $ docker-compose up -d nginx php  mysql     # 创建并且已后台运行的方式启动nginx、php、mysql容器
    
    $ docker-compose start php                  # 启动服务
    $ docker-compose stop php                   # 停止服务
    $ docker-compose restart php                # 重启服务
    $ docker-compose build php                  # 构建或者重新构建服务
    
    $ docker-compose rm php                     # 删除并且停止php容器
    $ docker-compose down                       # 停止并删除容器,网络,图像和挂载卷
    

配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
nginx 配置文件路径:
cd /usr/local/nginx/conf/vhost

mysql 安装路径
cd /etc/mysql/

php配置文件路径:php --ini [disable_functions: 禁用函数配置]

php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

Redis 配置文件:/usr/local/redis/etc/redis.conf

LNMP 日志文件

  1. Nginx

PHP 基础知识

PHP手册

点击跳转

查找 php.ini 路径

1
php -i | grep php.ini
  • 操作符 两个相连的冒号: 范围解析操作符:: 执行操作符`
  • getenv 获取一个系统环境变量的值
  • php设置错误信息输出级别:
1
2
error_reporting(-1);  //报告所有 PHP 错误
ini_set('display_errors', 1);    //打开错误信息输出
  • array
1
2
3
in_array($value, $array);  //在$array中查找$value值,若存在则返回true
array_search($value, $array);  //在$array中查找$value值,若存在则返回对象key值
array_walk() // 二维数组新增一列
  • php 编码转换函数
1
2
$string = iconv("gb2312", "utf-8//IGNORE", $string);
$string = mb_convert_encoding($string, "UTF-8", "gb2312");
  • 格式化输出函数
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
printf(format,arg1,arg2,arg++) 输出格式化的字符串
sprintf(format,arg1,arg2,arg++):  把格式化的字符串写入变量中
fprintf(stream,format,arg1,arg2,arg++):  把格式化的字符串写入指定的输出流(例如:文件或数据库)

// format: 必需。规定字符串以及如何格式化其中的变量,可能的格式值:
%% - 返回一个百分号 %
%b - 二进制数
%c - ASCII 值对应的字符
%d - 包含正负号的十进制数(负数、0、正数)
%e - 使用小写的科学计数法(例如 1.2e+2
%E - 使用大写的科学计数法(例如 1.2E+2
%u - 不包含正负号的十进制数(大于等于 0
%f - 浮点数(本地设置)
%F - 浮点数(非本地设置)
%g - 较短的 %e  %f
%G - 较短的 %E  %f
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
  • $_SERVER
1
2
3
4
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言
$_SERVER['REMOTE_ADDR'] //当前用户 IP 。
$_SERVER['REMOTE_HOST'] //当前用户主机名
$_SERVER['REQUEST_URI'] //注意是uri: URL
  • php变量定义特殊之处
1
2
3
4
5
6
7
<?php
$a = 'shi';
$$a = 'mian';  //相当于$($a),即$shi
$$$a = 'de';  //相当于$($($a)),即$mian
echo $a . ' ' . $$a . ' ' . $$$a;
?>
echo ‘shi mian de';
  • exec与shell_exec区别:

这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后一行数据,shell_exec则可以获取全部数据。