转移WordPress后报错Warning: Cannot modify header information – headers already sent by (output started at wp-config.php:1)的解决

转移WordPress后,发布文章时,报错如下:

Warning: Cannot modify header information – headers already sent by (output started at D:\web\wp-config.php:1)

这个是由于编码问题导致的,解决方法如下:

记事本打开这个报错的文件 wp-config.php ,文件-另存为,此时最下面的编码选择ANSI,保存后用这个文件替换原来的文件即可。

主要是由于转移后,你直接用记事本修改wp-config.php配置文件导致的,如果报其他文件错误,解决方法一样。

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate * bytes) in 报错的解决

恢复DZ论坛数据库时,报错 Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49999887 bytes) in D:\web\bbs\data\restore.php on line 82 原因是php.ini中的内存分配超出最大值,默认php能够运行的最大内存数是134217728 bytes(也就是128MB),如果代码执行的时候需要更大的内存,就会报错,可将php.ini文件中的配置做如下更改,查找: memory_limit = 128M 将128M改成512M或者更大即可

HTTP状态码(HTTP Status Code)解释,附HTTP状态查询地址

HTTP状态查询地址:http://tool.chinaz.com/pagestatus/

HTTP状态码(HTTP Status Code)
一些常见的状态码为:
200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用
所有状态解释:
1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
代码 说明
100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
2xx (成功)
表示成功处理了请求的状态代码。
代码 说明
200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
201 (已创建) 请求成功并且服务器创建了新的资源。
202 (已接受) 服务器已接受请求,但尚未处理。
203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容) 服务器成功处理了请求,但没有返回任何内容。
205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。
206 (部分内容) 服务器成功处理了部分 GET 请求。
3xx (重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
代码 说明
300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
4xx(请求错误)
这些状态代码表示请求可能出错,妨碍了服务器的处理。
代码 说明
400 (错误请求) 服务器不理解请求的语法。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
405 (方法禁用) 禁用请求中指定的方法。
406 (不接受) 无法使用请求的内容特性响应请求的网页。
407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408 (请求超时) 服务器等候请求时发生超时。
409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
415 (不支持的媒体类型) 请求的格式不受请求页面的支持。
416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求。
5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
代码 说明
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

UCenter通信失败,导致Discuz论坛上传头像Access denied for agent changed报错的解决方法

Discuz论坛上传头像,出现Access denied for agent changed报错。

进入UCenter后台,发现应用管理里,用论坛这个应用出现“通信失败”。

我的解决方法:点击“通信失败”后的“编辑”按钮,复制“通信密钥”,进入Discuz管理后台,“站长”-“UCenter设置”,在“UCenter 通信密钥”里粘贴刚才在UCenter后台复制的密钥。

其他需要检查的设置:

一、论坛后台 => 站长 => UCenter 设置

二、UCenter 后台 => 应用管理 => 点击论坛应用的“编辑”

具体需要检查的设置说明:
1、UCenter 应用 ID 需要和 UCenter 后台的 ID 一致;
2、UCenter 通信密钥需要和 UCenter 后台的通信密钥一致;
3、UCenter 访问地址查看是否是正确的地址;
4、UCenter IP 地址查看是否是UCenter所在的 Mysql 服务器的ip地址。

安装discuz论坛显示“mysqli_connect()不支持,建议advice_mysqli_connect”的解决方法

安装Discuz! X3.3,出现“mysqli_connect()不支持,建议advice_mysqli_connect”的报错信息,不能继续安装。

逐条检查,发现是php.ini文件配置时,粗心犯错导致。比如定位php的ext目录时,只定位到了php根目录:
错误写法:extension_dir= "X:\Server_Core\PHP"
正确写法:extension_dir= "X:\Server_Core\PHP\ext"

或者其他地方也有写错,请逐一检查。

ASPX 编译器错误信息: CS0016: 未能写入输出文件 解决方法

一.错误信息提示如下:

编译器错误信息: CS0016:未能写入输出文件: '*:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\*\*.dll'--拒绝访问."

原因1:权限问题,访问权限问题。

解决方法1:为用户NETASP(NETWORK SERVICE [window 2003])设置windows下Temp文件夹的所有权限

解决方法2:

1、如果C:/Windows目录下没有Temp文件夹,则创建一个;

2、右键Temp文件夹--属性--安全,添加一个用户"NETWORK SERVICE ",(如果是.NET Framework 1.0 则添加用户"aspnet user"), "赋予权限--完全控制;

3、右击"我的电脑"-"属性"-"高级"-"环境变量",选择系统变量下的"TEMP",点编辑,设置变量值为 %SystemRoot%\TEMP,确定,再对"TMP"进行同样的操作,点击确定;

4、重启IIS服务,问题解决。

原因2:服务被某些优化软件禁止。

解决方案:

1、ASP.NET State Service被停止了,重新启动ASP.NET State Service服务,并设为自动。

2、开始-运行-iisreset;。

3、OK

参考

http://support.microsoft.com/default.aspx?scid=kb;en-us;329065

二、 另外还有一个 Access denied 的错误说是不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files 下的某个目录。产生这些错误的原因很多,主要的可能包括:Bin 目录或者 Web.config 被更改以及访问文件系统的权限不够。

如果 Bin 目录或者 Web.config 被更改,MSDN 网站上有文章说是因为 Microsoft Index Services(Indexing Service) 服务在运行。 详细内容可以访问: PRB: Access Denied Error When You Make Code Modifications with Index Services Running

但是另外还需要注意一些别的问题,

  • 检查 Bin 目录的文件系统访问权限。一般只要确保 Users 容器拥有“读取和运行”、“列出文件夹目录”和“读取”的权限就可以了。
  • 如果提示说不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\... ,可以将 Temporary ASP.NET Files 目录的访问权限列表中添加 Everyone,并设置为拥有所有的权限。然后在访问一次此 Web 应用程序后,将 Temporary ASP.NET Files 目录的访问权限列表中将 Everyone 删除就可以了。

综上所述的方法,主要包括:

  • 禁用或设置 Indexing Service 服务;
  • 检查 Bin 目录的访问权限;
  • 设置 Temporary ASP.NET Files 目录的访问权限。

三、在 Windows2003 下(IIS6),出现如下错误信息:

出现CS0016的原因一般是临时目录的权限不够,至于为什么中途出现这种问题,我尚不清楚,解决的办法是给Windows目录下的临时文件夹Temp的安全选项卡中加入NetWork Service用户并赋予全权。更详尽的解释参考MSDN。

MSDN给出的解释如下:

When you view a Microsoft ASP.NET Application in a Web browser, you may receive the following error messages:

For the Microsoft .NET Framework version 1.1, the error message is the following: CS0016: Could not write to output file 'c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\application1\c11b43f6\cf3ec03\rizcntet.dll' . The directory name is invalid. For the .NET Framework 1.0, the error message is the following: CS0013: Unexpected error writing metadata to file 'C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\application2\3fc72f26\eb731247\ev2bslce.dll'. The directory name is invalid.

CAUSE The system TEMP and TMP variables point to a folder that does not exist. The compiler generates temporary files in the folder where the TEMP and the TMP variables point to before the files are copied to the Temporary ASP.NET Files folder. However, the folder where the system variables point to is deleted when you restart the computer. Therefore, the compiler cannot generate the temporary files.

RESOLUTION 1. Create a temporary folder under %Systemroot%, and then name it Temp.  2. Grant full permissions on the Temp folder to the aspnet user account in .NET Framework 1.0 or to the NETWORK SERVICE user account in .NET Framework 1.1. 3. Right-click My Computer, and then click Properties. 4. On the Advanced tab, click Environment Variables. 5. Select the TEMP variable under System variables, and then click Edit. 6. Type %SystemRoot%\TEMP in the Variable Value box, and then click OK. 7. Repeat steps 5 and 6 to edit the TMP variable. Click OK two times. 8. Click Start, and then click Run.  9. To reset Internet Information Services (IIS), type iisreset on the command prompt.

Note If the error message that is mentioned in the "Symptoms" section of this article persists, restart the computer.