VPS侦探论坛

 找回密码
 注册
查看: 6555|回复: 4

LNMPA环境下PHP语法出现的细节性错误!!!

[复制链接]
发表于 2011-7-23 18:44:29 | 显示全部楼层 |阅读模式

测试环境:CENTOS 5.5 32 Bit  lnmpa一键安装包。

问题:
通过fwrite函数向文件中写入换行符时(\r\n),通过Ultraedit打开时发现回车换行是?号,转到十六进行发现是写入的0D 0D 0A ,而正常环境下是0D 0A。我想这是导致我程序出现问题的原因所在。在程序生成的缓存文件中出现多次这种情况。其它LINUX平台没有发现此问题。请高人解决一下,为什么出现这种情况。
所用代码:
文件名i.php
<?php
$filename = 'test.php';
$somecontent = "这后面是换行符\r\n";
// 首先我们要确定文件存在并且可写。
if (is_writable($filename)) {
// 在这个例子里,我们将使用添加模式打开$filename,
// 因此,文件指针将会在文件的开头,
// 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。
if (!$handle = fopen($filename, 'a')) {
print "不能打开文件 $filename";
exit;
}
// 将$somecontent写入到我们打开的文件中。
if (!fwrite($handle, $somecontent)) {
print "不能写入到文件 $filename";
exit;
}
print "成功地将 $somecontent 写入到文件$filename";
fclose($handle);
} else {
print "文件 $filename 不可写";
}
?>
以上内容是i.php,
在同目录下建立text.php文件
其作用是向test.php文件中写入“这后面是换行符\r\n”\r\n写成了0D 0D 0A 多了个0D

请大家测试,因为有些程序用到缓存的时候会导致一些问题
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2011-7-23 19:33:27 | 显示全部楼层


现在发现\n的问题,写入的是0D0A,正常应该只写一个0A。是不是APACHE的问题
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2011-7-25 01:00:16 | 显示全部楼层

这一个原因很多啊。。一般就是你的这一个程序的格式写得不是很正确。。编译的时候有问题,要么就是你的服务回的环境里面是字符集的设置有问题。
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2011-7-25 21:11:15 | 显示全部楼层



程序是爱聚合的,官方说卖了好几千套,只有几个人的出现这种情况,都是重新安装的环境,我用的LNMPA,安装过程没有报错,实在无法确定,还有我上面的程序有那些问题呢
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2011-7-26 22:16:39 | 显示全部楼层

这一个就要看情况了啊,各种都是有可能的么,PHP的版本那么多,本来在WINDOWS下面和在LINUX下面是有差异的。。

军哥运维代购:http://shop63846532.taobao.com/

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-12-28 02:26 , Processed in 0.026547 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表