经典战争片《危机13小时》

爆炸贝导演的《危机13小时》中的经典台词:

他战死在一个本不该去的地方,
He died in a place he didn’t need tobe,

死于一场不明缘由的战役,
in a battle over something he doesn’t understand,

死于一个对他来说毫无意义的国度。
in a country that meant nothind to hime.

影片改变自2012年9月11日美国驻利比亚大使史蒂文斯遇袭身亡

同样值得推荐的电影《孤独的生还者》。

PHP self 和 static 区别

PHP self 指向定义的 class。

PHP static 指向运行的 class,一般只有子类覆盖父类的 static 成员或者方法时,在父类中使用 static 会访问到子类。

class ParentClass
{
    public static function hello()
    {
        echo "ParentClass: hello\n";
    }

    public static function run()
    {
        self::hello();
        static::hello();
    }
}

class ChildClass extends ParentClass
{
    public static function hello()
    {
        echo "ChildClass: hello\n";
    }
}

ParentClass::run();

// 输出
"ParentClass: hello"
"ParentClass: hello"

ChildClass::run();

// 输出
"ParentClass: hello"
"ChildClass: hello"

在Linux上进行PHP安装configure错误小结

PHP 安装,从官网下载源码压缩包,进行 configure 遇到几个错误:

configure 命令

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-bz2 –with-curl –enable-ftp –enable-sockets –disable-ipv6 –with-gd –with-jpeg-dir=/usr/local –with-png-dir=/usr/local –with-freetype-dir=/usr/local –enable-gd-native-ttf –with-iconv-dir=/usr/local –enable-mbstring –enable-calendar –with-gettext –with-libxml-dir=/usr/local –with-zlib –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-mysql=mysqlnd –enable-dom –enable-xml –with-libdir=lib64 –enable-pdo –enable-fpm

BZip2 错误

configure: error: Please reinstall the BZip2 distribution

解决方案

yum install bzip2
yum install bzip2-devel

bzip2 可能已经安装过,bzip2-devel 没有安装

libcurl 错误

configure: error: Please reinstall the libcurl distribution –
easy.h should be in <curl-dir>/include/curl/

解决方案

yum install curl-devel

GD 库错误

configure: error: jpeglib.h not found

解决方案

yum install libjpeg
yum -y install libjpeg-devel

libjpeg 可能已经安装过,libjpeg-devel 没有安装

MySQL设置root远程访问、内网访问

使用 root 登录 mysql 服务器

use mysql;
// 设置 root 支持来自任意客户端可以访问
update user set host = ‘%’ where user = ‘root’;

// 设置 root 支持来自内网 IP 192.168.* 可以访问
update user set host = ‘192.168%’ where user = ‘root’;

user 中可能有多条 root 记录,执行上述语句更新时,可以先查询出 host、user 列表(select host,user from mysql.user),执行 update 语句时增加一个 where 条件判断,只更新其中一个 host。

Linux开启启动脚本

Linux开机启动,启动 mysql,log,web service 等,将执行脚本的命令放置在 /etc/rc.d/rc.local 中,系统启动之后自动执行。

比如在 rc.local 增加一行 /web/server/nginx, 用于启动 nginx 服务。

Linux启动步骤

  1. 加载BIOS
  2. 读取MBR
  3. Boot Loader / Grup
  4. 加载内核
  5. 用户层init依据inittab文件来设定运行等级
  6. init进程执行rc.sysinit
  7. 启动内核模块
  8. 执行不同运行级别的脚本程序(/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 )
  9. 执行/etc/rc.d/rc.local(初始化完成后执行 rc.local 中的命令)
  10. 执行/bin/login程序,进入登录状态