这是我在在线部署应用程序时已经遇到过两次的问题,并且我已经偶然解决了两次,但仍然不了解导致问题的原因。这是第三次,它仍然困扰着我。
我在本地使用 PHP 文件和 Notepad++(文件以 UTF-8 编码,没有 BOM 编码 btw)。这里一切正常(配置:easyPHP),没有 PHP 错误。
将文件上传到服务器后,一些文件给了我基本的 PHP 错误,例如第 1 行中的 *unexpected T_FUNCTION*,尽管我的代码中没有错误。
幸运的是,我碰巧用 Windows 记事本打开了该文件,这给了我一个提示:字符之间没有空格或换行符(这就是 PHP 给我错误的原因)。总结一下:
使用 Notepad++ 打开的文件:
<?php
// Comment
function() { etc... (rest of the file)...
用windows记事本打开的文件:
<?php//comment function(){ ... which causes error online (but not on EasyPHP)
我到处查看并尽我所能(在记事本++中添加换行符,转换为 ANSI/UTF8 等,但文件似乎已损坏或其他东西)。这不是我复制粘贴的脚本或任何东西,我通过在 Windows 中添加一个新的 *.txt 文档并将其重命名为 *.php 来创建我的所有文件。
我的问题:
- 为什么 Notepad++ 和 windows 记事本会显示不同的换行符?是编码问题吗?Windows/UNIX 以不同方式解释文件?
- 为什么这可以在我的计算机上使用简单的 PHP 而不是在线工作?
提前感谢您的任何回答,如果没有,请提示。