OpenShift 编译 Nginx + PHP 5.5

wget http://ar2.php.net/distributions/php-5.5.30.tar.gz
tar -zxvf php-5.5.30.tar.gz
cd php-5.5.30.tar.gz
./configure \
--prefix=$OPENSHIFT_DATA_DIR/php \
--with-config-file-path=$OPENSHIFT_DATA_DIR/php/etc \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-embedded-mysqli=shared \
--enable-pdo \
--enable-fpm \
--with-zlib \
--enable-xml \
--enable-bcmath \
--with-curl \
--with-gd \
--enable-zip \
--enable-mbstring \
--enable-sockets 
更多...

OpenShift 编译安装 Nginx

在 OpenShift 中创建 DIY 应用

cd $OPENSHIFT_TMP_DIR
wget http://nginx.org/download/nginx-1.2.2.tar.gz
tar zxf nginx-1.2.2.tar.gz

cd $OPENSHIFT_TMP_DIR
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.bz2
tar jxf pcre-8.31.tar.bz2

cd nginx-1.2.2
./configure --prefix=$OPENSHIFT_DATA_DIR/nginx --with-pcre=$OPENSHIFT_TMP_DIR/pcre-8.31

make install
vi $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf
http {
    …
    server {
        listen       $OPENSHIFT_DIY_IP:$OPENSHIFT_DIY_PORT;
        server_name  localhost;
        … 
        }
    …
    
更多...

Phalcon Framework的MVC结构及启动流程分析

入口文件为public/index.php,简化后一共5行,包含了整个Phalcon的启动流程,以下将按顺序说明。

require __DIR__ . '/../config/services.php';
$application = new Phalcon\Mvc\Application();
$application-setDI($di);
require __DIR__ . '/../config/modules.php';
echo $application-handle()-getContent();

DI注册阶段

Phalcon的所有组件服务都是通过DI(依赖注入)进行组织的,这也是目前大部分主流框架所使用的方法。通过DI,可以灵活的控制框架中的服务:哪些需要启用,哪些不启用,组件的内部细节等等。因此Phalcon是一个松耦合可替换的框架,完全可以通过DI替换MVC中任何一个组件。

require __DIR__ . '/../config/services.php';

这个文件中默认注册了Phalcon\Mvc\Router(路由)、Phalcon\Mvc\Url(Url)、Phalcon\Session\Adapter\Files(Session)三个最基本的组件。同时当MVC启动后,DI中默认注册的服务还有很多,可以通过DI得到所有当前已经注册的服务:

$services = $application-getDI()-getServices();
foreach($services as $key =$service) {
        var_dump($key);
        var_dump(get_class($application-getDI()-
更多...

Ubuntu 设置无线热点

点击桌面右上角网络图标 - 编辑链接 - 添加,类型选择 Wi-Fi

名称填入 ynfap,在常规里把“可用时自动连接到这个网络”去掉

在 SSID 里填入 ynfap,模式选择 架构,设备 MAC 地址里选择你的网卡

在 Wi-Fi 安全性选择 WPA及WPA2个人,密码填入你的密码

在 IPv4 设置里,方法选择与其他计算机共享
在 IPv6 设置里,方法选择忽略

cd /etc/NetworkManager/system-connections
sudo gedit ynfap
将 [wifi] 节点里的
mode=adhoc
改为
mode=ap


点击桌面右上角网络图标 - 连接到隐藏的WiFi网络
WiFi适配器里选择你的网卡,连接选择 
更多...

Mac OS X与Windows双系统产生“时差”的原因和解决办法

电脑内部都有一个记录时间的RTC,这个实时时钟系统会自动运转,即使你已经关闭电源。 IBM PC兼容机大多采用DS12887这个芯片,内部存储时间,包括年,月,日,时,分。。,还包括世纪,解决了千年虫的问题,但是这个系统没有关于时区的记录,时区的处理由操作系统才完成。

从这里已经可以引申出,产生双系统时间不一致的原因,Mac OS X采用UTC,就是说在电脑RTC系统中保存时间,Mac认为时UTC时间,OS X再根据系统的时区转换成本地时间给你看。
Windows使用Local time,就是说Windows系统认为RTC系统内保存的时间就是本地时间,不再根据时区作相应的转换了。Windows为什么不使用UTC,这个问题微软官方也做过说明,因为早在DOS时代,就是使用本地时间,一直为了兼容性保留下来(历史的包袱)
从上面的说明可以看出,如果是北京时间东8区,就会相差8个小时了。

PS: 很多其他的Unix Like的系统可以设置采用UTC还是Local Time

windows虽然为了兼容性,一直沿用本地时间,但是在注册表中有一个设置可以让它使用UTC,这个正是我们需要的,修改注册表就好了

让windows也使用Universal Time,这样即使在不联网的情况下,时钟仍然是正确的
特别注意的是:取消Boot Camp的Apple时间服务, 不然时不时Apple时间服务会
把时间调正回去.
1)开始菜单,运行regedit
2)打开TimeZoneInformation,位置
HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control – TimeZoneInformation
3)右击-创建一个新的DWORD. 数值名称 RealTimeIsUniversal 数值数据 1 (十
六进制) … 更多...