来源:自学PHP网 时间:2014-12-14 21:28 作者: 阅读:次
[导读] 本文章收藏了关于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); } } } |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com