温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-07 19:12:35 来源:网络 阅读:277 作者:Ohimma 栏目:web开发

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI