PHP memcached的Session的使用与配置
在http://bardo.iteye.com/blog/914110这篇文章中,我们已讲了 PHP memcached 的安装方法。 PHP memcached的Session的使用,有哪些问题,这里简述一下:
memcached的session,第一大优点是比PHP session要高效,快速。其次是可以方便实现多主机session共享
使用以下方式使用memcached的session:
单一站点的服务器,可以在php.ini中使用:
session.save_handler "memcached"
session.save_path? "host1:11211,host2:11211"
?session.save_path 中的参数必须是逗号分隔的主机名加端口。主机名也可以使用IP地址。
虽然,服务端都是memcached,但不同于memcache扩展,它不需要在save_path中指定通讯协议
如果服务器有多主机,你要给你当前的虚拟主机配置,则可以配置到.htaccess文件中。格式如下:
php_value session.save_handler "memcached"
php_value session.save_path? "host1:11211,host2:11211"
?注意事项:此时,php.ini中的 session.use_cookies的值必须是1。如果系统中此值不是1,那么在
.htaccess文件中要增加:
php_value session.use_cookies = 1
?如果.heaccess报错,可以参考下面的例子进行修改:
# PHP 4, Apache 1.
? php_value session.save_handler "memcached"
# PHP 4, Apache 2.
? php_value session.save_handler "memcached"
# PHP 5, Apache 1 and 2.
? php_value session.save_handler "memcached"
?.htaccess可以控制到目录级别。而同时,还有可以直接在php代码中控制的方式:
ini_set("session.save_handler", "memcached");
ini_set("session.save_path", "host1:11211,host2:11211");
然而,这也要看你PHP的运行模式,如果是 mod_php方式, .htaccess是可以修改的, 但是如果你安装的是
fast_cgi,那么,你需要php_fpm来管理不同的php.ini。如果是mod_fcgid,那么,就要用FcgidInitialEnv
PHPRC "/dirOfPhiIni" 来设置不同的php.ini,但是,FcgidInitialEnv是新版本的中的命令。老板本的则是
DefaultInitEnv。有些版本有BUG,不一定能设置成功。而对于suPHP,则也需要在其配置中指定不同的配置
目录。
以下是 mod_fcgid 的一个配置实例:
#httpd.conf
LoadModule php5_module /php/php5apache2_2.dll
LoadModule fcgid_module modules/mod_fcgid.so
PHPIniDir /php
# whatever directives wanted bla bla bla
# Use same php.ini as mod_php globally for mod_fcgid
FcgidInitialEnv PHPRC "/php"
#httpd-vhost.conf
#using mod_php and /php/php.ini
??? ServerName php.example.com
??? DocumentRoot "/home/htdocs"
#using mod_fcgid and /home/user1/php.ini
??? ServerName user1.example.com
??? DocumentRoot "/home/user1/htdocs"
????? FcgidInitialEnv PHPRC "/home/user1"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
#using mod_fcgid and /home/user2/php.ini
??? ServerName user2.example.com
??? DocumentRoot "/home/user2/htdocs"
????? FcgidInitialEnv PHPRC "/home/user2"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
#using mod_fcgid and global php.ini
??? ServerName user3.example.com
??? DocumentRoot "/home/user3/htdocs"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
如果这些所有针对站点设置的都行不通,那你只能够使用代码的方法区别对待了。
代码中使用,一种可以直接调用ini_set, 还有一种,就是用 memcached自己写一个 session类,然后,映身
session函数到你写的session类中,这一点网上也是有例子的,所以,也不用多讲了。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version
