189 8069 5689

第四十三天:php的相关问题

小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文件:


而只能解析

这样形式的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  指定以某个账户的身份启动


文章题目:第四十三天:php的相关问题
本文链接:http://cdxtjz.com/article/jcsjgi.html

其他资讯