wordpress问题

将网站上的wordpress安装到本机,数据库在wp-config.php中配好了,但是访问主页一直报500 internal错误。看apahe日志,

[Wed Nov 23 20:53:42 2011] [warn] [client 127.0.0.1] mod_fcgid: read timeout from pipe
[Wed Nov 23 20:53:42 2011] [error] [client 127.0.0.1] Premature end of script headers: index.php

在网上查,没有对症的。

以我的经验很可能是数据库连接问题,于是另写个页面专门连数据库,成功了!这就让人郁闷了。

没办法,打开define('WP_DEBUG', true);只好一行行用echo定位了,最后发现确实是数据库问题。在load.php中require_wp_db函数,定位到wp-db.php::db_connect函数。

mysql_connect这一句有问题。晕,我不是专门测试了吗?

经过比照,就只host一个用127.0.0.1可以,而用localhost就不行!

问题在这!但是我使用jdbc使用localhost是可以的啊?

查看host文件,果然localhost没有配置,映射localhost 127.0.0.1后,再测试就可以了。

仍然不懂为什么jdbc可以自动找到localhost而php需要通过dns配置才行?

这个问题解决后,数据库需要修改wp_options表,将siteurl和home设置成本机url。

打开Mod_Rewrite模块,因为wordpress使用到了这个模块,所以要在apache http.conf中将LoadModule rewrite_module modules/mod_rewrite.so前面的注释去掉来启用此模块。另外需要为文件夹配置打开.htcaccess配置。如:

<Directory "xxxx/public_html">   
    AddHandler fcgid-script .php 
    FcgidWrapper "xxxx/php-cgi.exe" .php
    Options execCGI FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all   
</Directory>

注意蓝字部分配置。

wordpress根目录下的.htcaccess文件直接拷贝过来就行了。

到这一步,本机的wordpress环境基本可用了!

至于.htcaccess中的php.ini配置什么的,是虚拟主机具体环境需要的,这是wordpress安装时自动生成的??反正对本机环境运行wordpress没什么问题。

参见:

http://www.leapsoul.cn/?p=25  Apache Mod_Rewrite实现URL重写的配置方法

http://hi.baidu.com/%D1%F8%C0%CF%D4%BA%B3%A4/blog/item/6fb6764fd0533ff4d72afcd8.html  suPHP - 以属主身份来运行php

但是访问本机wordpress比访问站点还慢!这是怎么回事?关了xdebug也是一样!后来发现是wp-utf8-excerpt这个插件比较慢,关了就好了。

另外xdebug也是性能因素的很重要的个原因,打开xdebug会慢一倍以上,但是不打开又不好看调试信息。

有的环境下会出现admin中样式乱套,发现是load-styles.php这个样式加载有问题,换个php版本试试看,例如5.3.3就可以解决这个问题。

 

将最后编辑时间显示在文章上,需要在single.php和index.php中添加如下代码:

<?php 
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo "and last modified on ";
the_modified_time('F jS, Y');
echo " at ";
the_modified_time();
echo ", "; } 
?>

 

无法使用wlw发布私有文章。MS宣称还没提供这种功能也没有提供插件的方式。

 

Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1