thinkPHP错误提示命名空间问题

错误提示为:

Namespace declaration statement has to be the very first statement in the script

建议thinkphp把去bom的集成进去,自动去BOM,但是性能上很慢,不知道怎么回事啊
建议用个单文件PHP执行一下去BOM就好了
复制下面,保存成PHP文件,放到你网站根目录访问下这个文件就可以清除BOM
<?php 
if (isset($_GET[‘dir‘])){ //设置文件目录 
$basedir=$_GET[‘dir‘]; 
}else{ 
$basedir = ‘.‘; 

$auto = 1; 
checkdir($basedir); 
function checkdir($basedir){ 
if ($dh = opendir($basedir)) { 
while (($file = readdir($dh)) !== false) { 
if ($file != ‘.‘ && $file != ‘..‘){ 
if (!is_dir($basedir."/".$file)) { 
echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>"; 
}else{ 
$dirname = $basedir."/".$file; 
checkdir($dirname); 



closedir($dh); 


function checkBOM ($filename) { 
global $auto; 
$contents = file_get_contents($filename); 
$charset[1] = substr($contents, 0, 1); 
$charset[2] = substr($contents, 1, 1); 
$charset[3] = substr($contents, 2, 1); 
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { 
if ($auto == 1) { 
$rest = substr($contents, 3); 
rewrite ($filename, $rest); 
return ("<font color=red>BOM found, automatically removed._<a href=http://www.k686.com>http://www.k686.com</a></font>"); 
} else { 
return ("<font color=red>BOM found.</font>"); 


else return ("BOM Not Found."); 

function rewrite ($filename, $data) { 
$filenum = fopen($filename, "w"); 
flock($filenum, LOCK_EX); 
fwrite($filenum, $data); 
fclose($filenum); 

?>

其实我们的代码是写在第一行的,原因就在于文本的格式!!
我是这样解决的:用系统建个纯txt文本,把名字(包括扩展名)改成AccessController.class.php代码内容复制过来,根本不用改变。保存。运行吧!OK

或者使用文本编辑器(比如UE),另存为UTF-8 时,选择无BOM头即可。

时间: 2024-11-05 03:55:26

thinkPHP错误提示命名空间问题的相关文章

提问:错误提示--命名空间“System.Web”中不存在类型或命名空间名称“UI”(是缺少程序集引用吗?) 如何解决??

转自:http://topic.csdn.net/u/20080723/21/7e1e06cb-d013-4675-ba9b-9b39d49d0a0e.html 1) 添加对System.Web.dll的引用2) SortDirection枚举在System.Web.UI.WebControls命名空间下,添加了System.Web.dll的引用后,再using此命名空间就可以了这种问题查查msdn嘛,上面都写了------------------------------------------

安装Stomp扩展时错误提示error: &#39;zend_class_entry&#39; has no member named &#39;default_properties&#39;

在安装stomp扩展时, 有这样的提示 error: 'zend_class_entry' has no member named 'default_properties' 交待下安装上下文, stomp 版本是 1.0.3 而最新的是 1.0.8  php 版本是5.4.x , 猜想可能是由于版本差异造成的, 因为1.0.3的 stomp 出现的年份是2010年... 于是网上搜索了一下, 文章点这 说在出错的文件中把 default_properties 改成 default_propert

解决VM安装VMTools后错误提示,实现文件共享

在VM里给Red Hat 9.0安装VMTools后重启,在系统启动过程中出现三处提示,分别为:第一处:Mounting local filesystem: Error: Cannot mount filesystem: Protocol error      [FAILED] 第二处:Starting vmware-tools: Starting VMware Tools services in the virtual machine:                      Switchi

Sqlplus登录时出现无法定位程序输入点longjmp于动态链接库的错误提示

问题描述:当我们如下Oracle sqlplus登录时出现无法定位程序输入点longjmp于动态链接库D:\app\porry\product\11.2.0\dbhome_1\bin\oracore11.dll上的错误提示. 或者,在利用Oracle PL/SQL Developer客户端登录时出现 ora-12514错误提示,但是TNS配置没有错误,错误截图如下: 解决方案:出现该问题原因在于我们安装了Oracle之后,又安装了Oracle开发工具Oracle Developer Suit.从

java配置ueditor中解决“未找到上传文件”错误提示

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到需要上传的内容导致“未找到上传文件”的错误! 参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类.由于我们的工程中可能会有其他的上传等功能,为了不影响其他功能的时候,还需

UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示

今天在测试过程中,出现了这样一个bug,分别有两种情景: (前提是:app是基于UINavigationController构建的) 1.从Controller-A中push进来B.在B中点击返回,返回的界面为黑色一片.再做返回操作就crash了. 如图1: 2.从Controller-A中push进入B,此时B中tableview出现错位现象(图2),tableview被navigationbar覆盖了一部分,在B中再push一个C进来.此时只显示了C的navigationbar,但下方的vi

目录视图摘要视图订阅 基于Extjs开发不允许为空的文本框提示及相应的验证错误提示(转)

原文地址:http://blog.csdn.net/kunoy/article/details/8007585 本文主要解决问题: 1.区分哪些文本框不允许为空,很多网站都采用在文本框后加*号,extjs也可以用lable组件标识,但这样做很麻烦,每一个不允许为空的文本框都需要多加一个lable组件,如果用一个方法自动为不允许为空的文本框加上这个*号,在form等布局的情况下,也是可行的,但如果是absolute布局,你会发现界面就不那么舒畅了. 2.添加文本框验证错误提示,如果你采用的是for

MyEclipse、Eclipse错误提示:error retrieving AST from Provider

错误提示:error retrieving AST from Provider 今天在完善一个功能的时候,复制粘贴过来一段js,老是提示如题所示的错误,刚开始我直接忽略,但是老是提示,检查了一下js,才知道原来是js写错了,是js的验证错误提示!

Nginx错误提示:504 Gateway Time-out解决方法

朋友说504 Gateway Time-out的错误提示与nginx本身是没有任何关系的我们可以通过fastcgi配置参数的调整进行解 决. 修改 php-fpm 配置文件: 1.把 max_children 根据系统修改下,保证有充足的php-cgi进程可以被使用; 修改php-fpm配置文件增加php-cgi进程数量 修改php-cgi进程数: 代码如下 复制代码 vi /usr/local/php/etc/php-fpm.conf 找到: <value name="max_child