热点

phpcms数据库配置文件

时间:2010-12-5 17:23:32  作者:休闲   来源:探索  查看:  评论:0
内容摘要: PHPCMS的数据库配置文件藏在caches/configs/database.php里。你要是用过PHPCMS,肯定知道这文件有多重要——网站能跑全靠它撑着。我见过不少新手,一上来就改数据库密码,

PHPCMS的数据数据库配置文件藏在caches/configs/database.php里。你要是库配用过PHPCMS,肯定知道这文件有多重要——网站能跑全靠它撑着。置文我见过不少新手,数据一上来就改数据库密码,库配结果忘了同步改这个文件,置文网站直接白屏,数据后台都进不去。库配

打开这个文件,置文结构其实挺直白的数据。一个数组,库配里面装着数据库的置文主机、端口、数据用户名、库配密码、置文库名这些基本信息。默认配置长这样:

return array ( 'host' => 'localhost', 'port' => '3306', 'dbname' => 'phpcms', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'prefix' => 'phpcms_', );

看着简单吧?但有几个坑得注意。第一,host别老写localhost。我见过一台服务器上跑着好几个PHP环境,数据库走的是Unix socket,这时候你填localhost可能连不上,得填127.0.0.1或者具体的socket路径。第二,prefix这个表前缀,你要是改了,那所有SQL查询都得跟着变,PHPCMS的模型层会自动处理,但你手动写SQL的时候容易漏。

还有charset。默认utf8没问题,但有些老项目用的gbk,你要是混了,页面乱码不说,写入数据库的中文直接变问号。我上次帮人排查一个帖子乱码问题,查了半天,最后发现是配置文件里charset写成了utf8mb4,而数据库表还是utf8——这俩不完全兼容,尤其遇到生僻字的时候。

这个文件最烦人的一点是,它不支持环境变量。你在开发环境、测试环境、生产环境之间切换,得手动改这个文件。我习惯写个脚本,根据服务器IP自动替换配置,不然每次上线都提心吊胆。你说PHPCMS都这么多年了,官方也没想着优化这块,真是够呛。

改这个文件之前,记得先备份。别觉得这是废话——我亲眼见过有人用记事本编辑,保存的时候编码选错了,整个文件变成乱码,网站直接崩了。还有,改完配置后,如果PHPCMS开了缓存,你得去caches/目录把编译缓存清掉,不然改了半天,系统用的还是老配置。这个坑我踩过不止一次。

最后说点实用的。你要是数据库密码里有特殊字符,比如@、#、$,不用转义,直接写就行,因为这是PHP数组不是连接字符串。但你要是用PDO或者mysqli自己写连接,那就得小心了。还有,这个文件默认权限是644,你要是放在共享主机上,最好改成600,不然别人读到你数据库密码就麻烦了。别问我怎么知道的。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap