技术解析

不解析从 Windows 复制过来的 PHP,奇怪
0
2021-07-18 21:35:42
idczone
原来是在Windows上安装了XAMPP环境测试写PHP的,现在写好了,放到linux上,/var/www/下面的一个子目录里,发现不能解析PHP,html的都可以正常显示。而且,直接在/var/www根目录下创建PHP是可以被成功解析的,再mkdir个新目录,下面的PHP也可以解析。唯独从Windows复制过来的不能解析,真奇怪。
检查换行符。。

没用到换行符,用了\“,有影响?不知道怎么调试PHP呢。

windows和linux的换行符不一样,要转换一下。很多editor都有这个功能

检查了一遍,没有用到\n换行符

dos2unix *.php

short_open_tag ?

[换行符]与[转义换行]不是一回事

http://www.zhihu.com/question/19967857

你所有代码在一行完成的?这里说的不是你输出的换行字符,是你每敲一次回车所产生的换行符,windows和linux是不一样的

什么叫「不能解析」?具体错误信息呢?

dos2unix *

程序员的基础问题...
在win上最好也把编辑器设置成unix换行

你应该改一下权限吧

也许是权限问题。chmod -Rf 777 试试

看看是不是文件名大小写的问题

编码问题?

777 会error500的吧?755就好的啊。
大小写的话就直接404了。
感觉就是换行的问题。
整个文档没用回车?不可能的吧……


答案在这里

UNIX到Windows有问题多半是上面说的换行符、权限、大小写这些问题








是换行符的问题。一开始我还以为是指\n呢。使用dos2unix命令处理下就可以了。十分感谢各位。

我想多半是BOM的问题, 换行符应该还好

换行对 php 的解析没多大影响。毕竟它们都是空白字符么。
不能解析是状况是什么?是直接显示了 php 代码,还是报错?如果报错的话,错误码是什么?
查看一下 /var/log/(apache2|nginx)/error.log 里面的错误日志,有很多有用信息的。
另外装一个 php-cli 直接执行 `php SCRIPT.php` 一般也会有出错信息。

用 PHP_EOL

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服