小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文件:
12345678 | <? 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/attachment/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 指定以某个账户的身份启动
共同学习,写下你的评论
评论加载中...
作者其他优质文章