|
PHP 是一种脚本语言,在 Windows 和 LInux 下均有相应的解释引擎。然而由于操作系统的差异,在 Windows 环境下测试成功的程序并不一定能够在 Linux 环境下正确运行。
1. 文件与文件夹权限
我的 Windows 使用的是 FAT32 文件系统,这种文件系统不具备权限控制功能。但是在 Linux 下却默认有非常严格的权限控制,在以非 root 账户运行时,网站程序可能遇到没有读取/写入权限的情况
2. Apache 大小写
Windows 不区分大小写(IIS 自然一个德行),所以我们在编写程序时往往忽视这一点。当程序移植到 Linux 环境中运行时,由于 Apache 默认区分大小写,便可能会出现 include、require 函数报错(找不到文件),外链的 js、css文件不能被加载(导致在浏览器上的显示问题),图片无法显示,上传文件出错种种问题。一个解决办法是设定严格的编码规范,建议统一使用小写。(可以更改 Apache 设置来解决这个问题,但虚拟主机一般没有这种权限)
3. MySQL 大小写
与第二条类似的问题,在 Windows 下 MySQL 读写数据表不区分大小写,在 Linux 下又区分了。可以通过统一使用小写或者更改 MySQL默认配置解决这个问题
4. PHP 在 Windows 和 Linux 本身的差异性
这需要我们在程序中加入相应的代码,不过相比之下这个问题反而不甚明显。 |
|