首页 > 开发 > XML > 正文

Fckeditor XML Request error:internal server error (500) 解决方法小结

2024-07-21 02:54:00
字体:
来源:转载
供稿:网友
本文章收藏了关于FCKEditor XML Request Error:Internal Server Error(500)各种问题的解决办法
 
原来一直能用的ecshop后台信息发布里面的fckeditor上传功能,换了个机器后不能用了。以为是文件损坏,上传一边不行。 
什么xml错误,还弹出一个大的JavaScript alert警告框,内容就是服务器端错误的500内容 
网上搜,又说是配置问题,主题问题,想想都不应该,直接请求 

复制代码代码如下:

filemanager/connectors/php/connector.php 


出了服务器的500错误,html文件能访问,txt也行。 
后来从根目录开始查,发现到fckeditor目录里面的php文件开始不能访问。 

改了fckeditor目录的属性为755,问题解决。 

问题二 

网上很多人提到,后来发布的FCKeditor2.3以后的版本,要设置fckeditoreditorfilemanagerconnectorsaspx目录下的connector.aspx,和upload.aspx里的加入theme="",但经本人测试,这样还是不行,仔细看提示的错误,原来根本没有那么复杂,其实就是你的上传文件夹设置不对,首先要确认你的文件夹有写入的权限,然后再web.config里面要注意写入路径的设置,~/表示当前站点的根目录,/表现的文件所在电脑的根目录,建议根据你的文件结构,选择第一种设置。 

原来是主题惹的祸: 

因为ASP.NET2.0新增了Theme功能,所以如果在你的工程中你对Web.config使用到了styleSheetTheme或theme的话那就要再多修改一下。 
还是到FCKeditor所在的目录,分别打开editorfilemanageruploadaspxupload.aspx和editorfilemanagerbrowserdefaultconnectorsaspxconnector.aspx两个aspx文件,在page标签中添加Theme=”"或StyleSheetTheme=”"看你在工程使用的是什么就修改什么。修改后如下: 

复制代码代码如下:

<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" Theme="" %> 

或 
复制代码代码如下:

<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" StylesheetTheme="" %> 


这样就解决了500的内部错误。 

国外网站 

After Download You Change This Lines In FileWorkerBase.cs

复制代码代码如下:

protected string UserFilesDirectory 

get 

if ( sUserFilesDirectory == null ) 

// Get the local (server) directory path translation. this.UserFilesPath 
sUserFilesDirectory = Server.MapPath(string.Format("{0}{1}","~","/UserFiles/")); 

return sUserFilesDirectory ; 


Now Buid Project And Change The Refrence To FredCK.FCKeditorV2.dll (Refrence Again) 
复制代码代码如下:

After Building This Changes And Adding Project Go To fckconfig.js and Change like This Lines 
var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py 
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php 

问题四:
最近编写一个文章管理系统,参考了网络上的一些经验。感觉重新开始学习网页编程,差距真是太大了。想2000年前后,曾经学习过html、perl、php、asp、JS、VBS,后来还学习过jsp等,数据库用过access、mssql、mysql,后来学过oracle等。如今再拾起来,总是有些似曾相识,但毕竟不是一回事了。 
  现在开始学习aspx,发现如果想学好一种语言,说起来容易,其实想真正掌握,也绝非易事。如果没有扎实的基础,总会感觉难以得心应手。 

  文章管理系统中用到了fckeditor上传文件,在本机编译运行还是好好的,可是到了win2003服务器上就不能正常运行了。提示FCKeditor : XML Request error:internal server error (500) 。因为设置成了独立的域控制器,找了半天的资料,按所有的要求做了,足足有四、五天,还是不行。后来没有办法只好安装成独立服务器,一试行了,也可能当时没有弄清。接着按单位的要求加入域,第二天再一试,又不行了,真是无可奈何。 
  实在没有办法了,只好从头找起。把其中的test.html复制回去,测试结果原来是引用的FredCK.FCKeditorV2.dll出了问题,真是没有想到。提示Util.CreateDirectory()出现错误。找到FredCK.FCKeditorV2.dll的源代码中的Util.cs,发现其中有一段为: 
// The "_mkdir" function is used by the "CreateDirectory" method. 
[DllImport("msvcrt.dll", SetLastError=true)] 
private static extern int _mkdir(string path) ; 
由此想到可能是系统的这个msvcrt.dll不一致造成程序调用出错,查看后发现版本确实不一样,服务器是win2003 sp1的,究竟是不是加入域后访问规则的改变,还没有找到是什么原因。 
  仔细阅读了源代码,把其中涉及到msvcrt.dll的去除不用,替换成Directory.CreateDirectory(),编译后把FredCK.FCKeditorV2.dll复制到文章管理系统的bin目录,运行正常,win2003 sp1中也正常。 
  源代码中也说明,如果直接使用System.IO.Directory.CreateDirectory()会出现异常提示,不过它当时是使用vs2003开发的,而vs2005中没有出现异常提示,可以正常使用。 
  由于fckeditor涉及的语言较多,只能先这样修改,凑乎着用吧。 
  修改后的Util.cs参考源代码: 
复制代码代码如下:

using System ; 
using System.Runtime.InteropServices ; 
using System.IO ; 
using System.Collections ; 

namespace FredCK.FCKeditorV2 

public sealed class Util 

private Util() 
{} 

public static DirectoryInfo CreateDirectory( string path ) 

Directory.CreateDirectory(path); 
return new DirectoryInfo(path); } 



注:相关教程知识阅读请移步到编辑器频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表