月度归档: 2015 年 11 月

  • 服务器折腾日志

    服务器折腾日志

    [highlight color=” background_color=”]更换服务器,升级系统,面板,WP,主题[/highlight]
    //2020-09-23
    更换服务器,换了20%CPU基线的服务器。感觉还是有点多余。10%应该够用了
    升级系统,面板,WP,主题
    解决一些网页错误。和兼容性问题
    ……

    [highlight color=” background_color=”]两站升级到https,全部图片采用OSS[/highlight]
    //2017-11-18
    把两个站都申请了免费的SSL。升级到了https
    图片全部采用阿里云OSS加载。
    DNS从dnspod国际版迁到阿里,现在所有服务都在阿里云了……

     

     

    [highlight color=” background_color=”]安装php加速模块,安装image_magick-7.0[/highlight]
    //2017-11-13

    php-5.4或以下版本使用 eaccx+apcu或memcached,
    php-5.5或以上版本可以选择使用:opcache+apcu或memcached等

    选择了Opcache+apcu
    安装ImageMagick。
    同时需要安装pecl_imagick扩展。都安装成功,但是php里面,Imagick()函数还是不能用。不折腾了。

     

    [highlight color=” background_color=”]设置并发 (PHP-FPM)问题[/highlight]
    //2017-11-13
    安装完网站后两个网站的的并发模式都是  动态模式:1,5,50,50
    结果今天好像是 分镜世界 有了一点的访问量。所有页面都很卡顿。看一下进程数,两个网站的进程都加起来十几个。
    内存都跑慢了,都改回1,2,5,10

     

    [highlight color=” background_color=”]安装LNMP[/highlight]
    //2017-11-08
    安装了纯净lnmp感觉很多设置很烦,安装AMH面板
    ray_lnmp (nginx-1.8 + mysql-generic-5.5 + php-7.1)

     

    [highlight color=” background_color=”]几个网站简单更新[/highlight]
    //2017-11-08
    个人网站和blog整合到了一起。不再自己做网页了。
    分镜世界,WP后台升级和插件更新
    bbs.storyboardworld.com 升级到3.4版本
    lab.rzx.me 几个自己制作的动态网页根据php7.1修改代码

  • Mysqli和Mysql的几个区别

    Mysqli和Mysql的几个区别

     

    把PHP升级到7以后发现,自己之前做的几个连接数据库的php小网页不能用了。
    原来是php7不支持mysql.dll了。

     

    难得就会那么几句的数据库查,读,写。函数。
    搜了一下两个的区别。把错误都改了。
    其中这一篇小讲解挺好的。
    尤其是【 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的】 卡了半天,终于解决问题。

     

    Mysqli.dll是一个允许以对象的方式或者过程操作数据库的,它的使用方式也很容易。这里就几个常见的操作和mysql.dll做一个对比。
    1:mysql.dll(可以理解为函数式的方式):

    $conn = mysql_connect(‘localhost’, ‘user’, ‘password’); //连接mysql数据库
    mysql_select_db(‘data_base’); //选择数据库
    $result = mysql_query(‘select * from data_base’);//这里有第二个可选参数,指定打开的连接
    $row = mysql_fetch_row( $result ) ) //为了简单,这里只取一行数据
    echo $row[0]; //输出第一个字段的值

    mysqli也有过程式的方式,只不过开始贯以mysqli的前缀,其他都差不多。
    [highlight color=” background_color=”]如果mysqli以过程式的方式操作的话,有些函数必须指定资源,比如说 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,’可选’)的资源标识是放在后面的,并且可以不指定,它默认是上一个打开的连接或资源。[/highlight]

    2mysqli.dll(对象方式):

    $conn = new mysqli(‘localhost’, ‘user’, ‘password’,’data_base’);
    //这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了
    //也可以构造时候不指定,然后 $conn -> select_db(‘data_base’)
    $result = $conn -> query( ‘select * from data_base’ );
    $row = $result -> fetch_row(); //取一行数据
    echo row[0]; //输出第一个字段的值

     

    二:mysql_fetch_row(),mysql_fetch_array()

    这两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):
    $row[‘username’], $row[‘passwd’] 而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.