opencart CDN

Opencart CDN is a general CDN solution for opencart.

the main features are: 1.separated data images and theme resources. 2.easy operate on backend module setting. 3.support multi-cdn domains 4.support adding “?version=numberic” at CDN resource urls to solve CDN expiration issue when updated static resources.

===================== installation:

1. VQmod is required. 2. unzip this extension . . . → Read More: opencart CDN

PHP store session with couchbase

如何用couchbase存储session

有两种常见方式: 1.采用memcache模式连接couchbase 只需两句修改:

ini_set(‘session.save_handler’, ‘memcache’); ini_set(‘session.save_path’, ‘tcp://couchbase_host:9999′);

注意里面的9999是couchbase 里面创建的bucket的对外memcache端口,这种访问方式运行以memcache兼容的模式访问couchbase。 2.采用couchbase扩展添加一个sessionhandler如下:

/**** * php storage session with couchbase * by fushanlang@gmail.com */ /*** * SessionHandlerInterface is a internal interface only for PHP_VERSION>=5.4.0 * so if interface_exists() false we need to define by yourself. */ if (!interface_exists(‘SessionHandlerInterface’)) { interface SessionHandlerInterface { public function close(); public . . . → Read More: PHP store session with couchbase

理解PHP session机制(zhuan)

1.session.save_handler = files

* 1. session_start() 1. session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中, PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的, 但是有的系统是 session.gc_probability = 0,这也就是说概率是0,而是通过cron脚本来实现垃圾回收。

session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440//过期时间 默认24分钟 //概率是 session.gc_probability/session.gc_divisor 结果 1/1000, //不建议设置过小,因为session的垃圾回收,是需要检查每个文件是否过期的。 session.save_path = //好像不同的系统默认不一样,有一种设置是 “N;/path” //这是随机分级存储,这个样的话,垃圾回收将不起作用,需要自己写脚本

2. session会判断当前是否有$_COOKIE[session_name()];session_name()返回保存session_id的COOKIE键值, 这个值可以从php.ini找到

session.name = PHPSESSID //默认值PHPSESSID

3. 如果不存在会生成一个session_id,然后把生成的session_id作为COOKIE的值传递到客户端. 相当于执行了下面COOKIE 操作,注意的是,这一步执行了setcookie()操作,COOKIE是在header头中发送的, 这之前是不能有输出的,PHP有另外一个函数 session_regenerate_id() 如果使用这个函数,这之前也是不能有输出的。

setcookie(session_name(), session_id(), session.cookie_lifetime,//默认0 session.cookie_path,//默认’/’当前程序跟目录下都有效 session.cookie_domain,//默认为空 )

4. . . . → Read More: 理解PHP session机制(zhuan)

Ubuntu 12.04 (Precise Pangolin) with latest PHP

如何让ubuntu 12.04 apt-get install 最新版本的PHP?

1. Install the signing key for the PPA (which also adds the sources to apt):

add-apt-repository ppa:ondrej/php5

If the above command is not available, install it using:

apt-get install python-software-properties

2. Now update the package database and then upgrade the system. As part of upgrading, PHP 5.4 will be . . . → Read More: Ubuntu 12.04 (Precise Pangolin) with latest PHP

linux install php eaccelerator

# 安装phpize yum install php-devel make # 下载eaccelerator, 也可以从 http://sourceforge.net/projects/eaccelerator/files/eaccelerator/ 下载 wget http://soft.vpser.net/web/eaccelerator/eaccelerator-0.9.6.1.zip unzip eaccelerator-0.9.6.1.zip cd eaccelerator-0.9.6.1 phpize ./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config make make install vi /etc/php.ini # 在结尾加入 zend_extension=”/usr/lib/php/modules/eaccelerator.so” eaccelerator.shm_size=”16″ eaccelerator.cache_dir=”/tmp/eaccelerator” eaccelerator.enable=”1″ eaccelerator.optimizer=”1″ eaccelerator.check_mtime=”1″ eaccelerator.debug=”0″ eaccelerator.filter=”” eaccelerator.shm_max=”0″ eaccelerator.shm_ttl=”0″ eaccelerator.shm_prune_period=”0″ eaccelerator.shm_only=”0″ eaccelerator.compress=”1″ eaccelerator.compress_level=”9″ 创建eAccelerator缓存目录: mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator 重启 php-fastcgi(如果有的话) php-fastcgi:/etc/init.d/php-fastcgi restart 重启web . . . → Read More: linux install php eaccelerator