zoukankan      html  css  js  c++  java
  • PHP基础学习

    什么是php 
    Hypertext preprocessor  是一种用来开发动态网站的服务器脚本语言
     

    显示客户端和服务器端IP

    echo $_SERVER['REMOTE_ADDR']  // 客户端
    echo $_SERVER['SERVER_ADDR'] //服务器端
     
    php 需要开启短标签才能使用短标签(<? ?>)  short_open_tag = on
     
    get的最大数据提交量为1024个字符 但是 POST最大是2M且能够通过配置来调节
     
    php打印前一天的日期并格式化
    $a=date("Y-m-d H:i:s",strtotime("-1 day"));
    print_r($a);
     
    include 和require的区别 
    在失败的时候,include产生一个warning 而require产生错误并中断
    require在运行前载入
    include在运行时载入
    为了避免多次包含同一个文件,产生错误 使用 require_once 和include_once
     
    修改SESSION的生存时间
    session_set_cookie_params
     
    打开文件并进行读写
    f_open函数
     
    取得查询结果集总数
    mysql_num_rows
     
    explode() 和implode()函数 
    explode(':','a:b') // 将a:b用 :分割得到数组
    implode(':',arr) //讲数组使用:拼接得到字符串
     
    从标准url中取出文件扩展名
    $arr=parseurl($url);
    $pathArr=pathinfo(arr['path']);
    print($pathArr['extension']);
     
     
    不定长参数控制 
    1. function myfun() {  
    2. $numargs = func_num_args();  
    3. echo "参数个数: $numargs ";  
    4. $args = func_get_args();//获得传入的所有参数的数组  
    5. var_export($args);  
     
    全局变量 在函数中使用需要带 global
    <?php
    $a 
    1;
    $b 2;

    function 
    Sum()
    {
        global 
    $a$b;

        
    $b $a $b;
    }

    Sum();
    echo 
    $b;
    ?>
    将输出三
     
    定义常量
    define("CONSTANT""Hello world.");
    const CONSTANT="Hello world.";
    常量是没有$的。
     
    自动加载对象  程序使用未定义的类时,会被自动加载
    <?php
    function __autoload($class_name) {
        require_once 
    $class_name '.php';
    }

    $obj  = new MyClass1();
    $obj2 = new MyClass2();
    ?>
     
     
    php的垃圾回收机制  引用计数  周期回收
     
     
    mysql 表存储引擎
     
    MyISAM
     
    它不支持事务,也不支持外键,尤其是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。
    是表级锁 而innoDB是行级锁
    但是目前为止 MyISAM相对于 innoDB来说没有啥优势可言
    InnoDB
    InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
    自动增长列:
      
    InnoDB表的自动增长列可以手工插入,但是插入的如果是空或0,则实际插入到则是自动增长后到值。
    外键约束:
      
    MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。
     
    MEMORY
    memory使用存在内存中的内容来创建表。每个MEMORY表实际对应一个磁盘文件,格式是.frm。MEMORY类型的表访问非常快,因为它到数据是放在内存中的,并且默认使用HASH索引,但是一旦服务器关闭,表中的数据就会丢失,但表还会继续存在。
    MERGE
    merge存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,MERGE表中并没有数据,对MERGE类型的表可以进行查询、更新、删除的操作,这些操作实际上是对内部的MyISAM表进行操作。
     
    表级锁 开销小,
    行级锁 开销大,但是并发控制更好
     
    事务 ACID
     A---atomicity(原子性) 一个事务是最小的工作单元
    C---Consistency(一致性) 
    I---Isolation(隔离性) 多个事务是相互隔离的, 隔离级别
    D---durability(持久性) 事务提交后不可恢复
     
     
     

     组合索引要有个最左前缀原则

       index c(a,b)  cab字段的组合索引

    where a=1 and b=1 或者 where a=1  可以到索引

       where b=1索引不起作用    
     
     
    php-fpm   php进程管理器   可以有效的控制php内存进程 并且支持平滑重启
    使用 php-fpm 控制 php-cgi的 fastCGI的进程
     
    php-CGI  全称  公共网关接口   http服务器与你的或其他机器上的程序进行 交谈 的一种工具  其程序须运行在服务器上
    CGI 可以用任何一种语言编写,只要它具有标准输入输出 和环境变量 
     
    FastCGI 是web服务器启动时加载的进程管理器 
     php-cgi是其中的一种 ,不支持平滑重启 
     
     
    http错误码  
    2  成功  3  重定向  4 请求错误  5 服务器错误
    200 成功  400 服务器出错  401 请求的用户需要验证身份  403 请求拒绝  404 请求失败,服务器没有该文件  502 网关失败  503 服务器过载,无法处理该请求 504 超时 
     
    redis 在命令行中无法使用  可能是命令行加载的php.ini和网站上的php.ini不是同一个。。我晕
     
    redis 的持久化方案 
    快照的方式
      将内存中的数据以快照的方式写入二进制文件中 可以在服务端配置 多长时间去写入超过多少key的时候写入   写入是完整写入的,不是做增量
    aof持久化 Append-only file  启用方式   appendonly yes   配置文件
      redis 只要收到一次命令就会通过write函数将数据追加到磁盘文件中
      
    虚拟内存方式(desprecated)
     
    diskstore方式
    利用b+tree来实现 
     
    redis 支持的数据类型  String  Hash  List  Set(会对list进行自动排重)   Sort Set  可以通过用户给的优先级参数进行排序  插入有序 自动排序
     
    break  2  指跳出几层循环继续运行
     
    查看当前运行的sql
    select * from information_schema.`PROCESSLIST` where INFO is not null;
     
    mysql 命令导出mysql数据
    mysqldump -uroot -pmysql databasefoo(数据库名) table1 table2 > foo.sql 
     
     
     
     
  • 相关阅读:
    java中split函数参数特殊字符的处理(转义),如:"." 、"\"、"|"
    Javascript编程风格
    HTTP 错误 500.0的解决方法。
    在WCF中进行大数据量传输
    “您已使用临时配置文件登陆”的解决方法
    关于命令行执行Migrations
    转一篇关于部署的文章
    MSDeploy使用备忘
    不可征服
    git初始化项目
  • 原文地址:https://www.cnblogs.com/kinmos/p/6829754.html
Copyright © 2011-2022 走看看