gpt4 book ai didi

PHP 命名空间不起作用 - 疑似 PHP 配置问题

转载 作者:行者123 更新时间:2023-12-04 16:53:31 26 4
gpt4 key购买 nike

好的,所以,我已经使用自动加载器一段时间了,变得相当习惯于 MVC,并决定尝试处理命名空间。嗯,这没有按预期工作。我设法以一种非常简单的方式重现了该错误,因此我的 php 文件的内容如下:

<?php
namespace site\test;

echo 'hello';

输出不是我所期望的:

fatal error :命名空间声明语句必须是第 2 行文件中脚本中的第一个语句

我在 Synology NAS 上运行 PHP 5.3.10,使用最新版本的 DSM(Synology 操作系统)。这使用了 Apache v2.2.22。我可以确认注释掉“namespace”行会返回单词“hello”,在它之前没有额外的字符。

文件开头没有 BOM。我也没有设置标题(例如“位置”)的问题,这表明这是一个问题。

行结尾是 Unix(仅限\n),文件的字符编码是 UTF8。

PHP 设置“auto_prepend_file”为空。

最佳答案

命名空间前有空格吗?命名空间必须出现在任何输出之前。这包括浏览器的 HTML。这还包括一个 UTF-8 字节顺序标记 (BOM),它可以从某些编辑器中潜入。

尝试在编辑器中打开文件,例如 vi在 Linux 上,它应该显示开头是否有 BOM。

查询 How to fix "Headers already sent" error in PHP有关输出可以在文件中开始的其他方式的信息。

关于PHP 命名空间不起作用 - 疑似 PHP 配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com