小Q:人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。 — 爱献生
开启php的错误日志记录------------------------------------------
默认,php报错是不记录进日志文件,而是直接从屏幕上显示,这很不便于排查问题。打开php的错误日志记录也很简单。
编辑php.ini
log_errors = On
error_log = /usr/local/php/log/error.log
php.ini 中开启短标签-------------------------------------------
控制参数: short_open_tag = On
如果设置为Off,则不能正常解析类似于这样形式的php文件:
<? phpinfo() ?> 而只能解析 <?php phpinfo() ?> 这样形式的php文件
所以要想php支持短标签,需要我们把short_open_tag 设置为On.
open_basedir限定php解析目录-------------------------------------
在php.ini中有一个参数 open_basedir ,默认是关闭的。如果你的服务器网站只针对某个目录去解析php那么就可以去设定这个参数了。
open_basedir = /var/www/htdocs
另外在apache的配置文件中也可以限定只有某个目录可以解析php
php_admin_value open_basedir "/var/www/htdocs"
可以和php.ini中的 open_basedir 起到一样的效果。
memcached 内存溢出----------------------------------------------
近几天,发现一个问题。网站的应用中,出现的这样的情况:一个帖子,第一次打开正常,但刷新几次后就找不到主题,只看到回复。偶尔还会出现,“未定义操作”的错误。经检测,发现是memcached的问题,我们怀疑是memcached刷新缓存过于频繁造成。几台服务器比较,唯有php版本与memcached版本不一样。
正常服务器 php 5.2.8 memcached 1.2.4
不正常服务器 php 5.2.11 memcached 1.2.8
首先我升级了memcached版本,升级成 1.4.0 ,可结果问题依旧。所以只好降低php版本,降低为 5.2.8 ,但memcached版本还是1.4.0. 问题此时解决。
得出结论:php-5.2.11 对memcached 支持不好。不知道更高版本的php是否会解决该问题。
memcache和memcached在php中的应用--------------------------------
memcache在php中编译
# wget http://www.lishiming.net/data/p_w_upload/forum/memcache-2.2.3.tgz # tar zxvf memcache-2.2.3.tgz # cd memcache-2.2.3 # /usr/local/php/bin/phpize # ./configure --with-php-config=/usr/local/php/bin/php-config # make # make install # cp modules/memcache.so /usr/local/php/ext/ //把memcache.so 拷贝至php的extension_dir下,
#查看php extension_dir的方法是 /usr/local/php/bin/php -i |grep extension_dir
修改扩展路径,在php.ini中修改:
extension_dir = "/usr/local/php/ext"
然后在php.ini 中添加
extension = memcache.so
保存后可以利用 /usr/local/php/bin/php -m 检测和查看具体的参数
memcached 的编译安装
wget http://syslab.comsenz.com/downloads/linux/memcached-1.4.5.tar.gz tar zxvf memcached-1.2.8.tar.gz cd memcached-1.2.8 ./configure --prefix=/usr/local/memcached make && make install
启动:
/usr/local/memcached/bin/memcached -m 2048 -p 11211 -l 127.0.0.1 -d -u www
-m 后边指定memecached使用多少内存,单位是M
-p 指定memcached 启动端口
-l 指定绑定的IP
-u 指定以某个账户的身份启动
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。