• 使用Zend studio+WAMP来调试Wordpress后台的PHP程序的一些非常关键的信息(原创)


    一、Zend studio代码格式化快捷键:选中代码,Ctrl+Shift+F( 注意,在英文输入发状态下使用!) 。
    Zend studio实用快捷键 :
    http://www.zendstudio.net/zend-studio-tutorial/zendstudio-shortcuts/

    二、使用Dreamweaver格式化HTML代码:
    http://www.ludou.org/use-dreamweaver-to-fomat-html-code.html

    三、最好PHP开发工具Zend Studio 9.0.2的安装和使用,可以导入wordpress代码,形成工程。
    原文出处:http://blog.csdn.net/reille/article/details/7420450

    四、把远程服务器端的wordpress程序移到本地来调试。
    由于在本地调试方便点,而且调试好了以后还要把代码上传回远程服务器端,所以最好数据库的配置跟远程服务器端的配置一样,下面的做法就是将本地的数据库配置跟远程服务器的一样。
    步骤:
    1. 在本地数据库中新建一个跟远程服务器端中与wp-config.php文件里面信息一样的数据库名字、用户名和密码。
    2. 把远程的mysql数据库备份一份,然后复制到本地,还原到新建的数据库中。
    3. 还原的时候可能会出现以下问题:
    Fatal error: Maximum execution time of 30 seconds exceeded in
    wordpresswp-includesclass-http.php on line 902
    问题解决就很简单了,修改php.ini最大执行时间参数即可:
    max_execution_time = 30(默认值) –> 改为180或者更大
    memory_limit = 512M,最好也把mysql的内存也改一下,原来是(128MB)的,改成了512M之后快一点,就能在备份、还原大数据时候更加快速。当然这些值根据你的硬件来自由设置的,设置大点也没问题。
    upload_max_filesize = 10M这个是控制mysql数据库导入文件大小,你需要还原的数据库很大的时候需要把这个值设置大点。

    4. 把数据库里面的后缀为options的数据表里面的siteurl字段的数据改为http://localhost/(没改以前原来为你远程服务器自己所绑定的自己的域名,比如:www.XXX.com,改了之后就能正常访问本地的了)
    5. 把远程的程序打包一份,然后复制到本地,并解压到apache的www目录(我这里是用wamp)。
    6. 如果原来网站设置了.htaccess文件,那最好把这个文件改掉,比如你原来如果通过设置这个.htaccess文件来进行301重定向那就一定要把这个.htaccess文件里面的东西全部删除(删除前最好备份一份.htaccess文件),然后改为下面的再保存起来:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    7. 还有,注意留意还需更改wordpress后台常规选项那里的WordPress 地址(URL)和站点地址(URL)。
    8. Apache安装的路径,在其根目录下“conf文件夹”中有一个文件叫“httpd.conf”,用记事本将它打开,按“ctrl+F”键,弹出查找窗口,输入“#LoadModule rewrite_module modules/mod_rewrite.so”,如果能找到的话,把前面的#删除,这个#号表示注释,也就是没有开启,我们去掉之后也就开启了“mod_rewrite”这一模块,如果找不到,再尝试输入“LoadModule rewrite_module modules/mod_rewrite.so”,看能否找到,如果能找到,说明这个模块已经开启。
    先试试看能否正常打开,如果不能正常打开,继续在httpd.conf文档里面查找:
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>
    将上面的改为下面的:
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
    再尝试一下能否正常打开,一般到这个时候就能正常打开了。

    9. Warning: Creating default object from empty value in
    wordpresswp-adminincludes heme.php on line 23
    弄好之后登陆主页进去没问题,但是进入wordpress后台之后就出现问题了:
    首先找到对应文件对应行,改成:
    if ( ! isset( $themes[$current_theme] ) ) {
    delete_option( 'current_theme' );
    $current_theme = get_current_theme();
    }
    $ct = new stdClass(); //原先有问题,添加本行即可
    $ct->name = $current_theme;
    10. Creating default object from empty value in.... wp-includesuser.php on line 660
    没登陆wordpress后台之前没什么问题,登陆之后会出现上面这个问题,搞了很久,终于找到了解决方案:
    http://www.tiandiyoyo.com/2013/03/warning-creating-default-object-from-empty-value/
    搜索资料得到原因是array里的object没有被初始化。解决办法是在这之前添加一行代码:
    $blogs[ $blog_id ] = new stdClass();
    首先找到对应文件对应行,改成:
    if ( !is_multisite() ) {
    $blog_id = get_current_blog_id();
    $blogs = array();
    $blogs[ $blog_id ] = new stdClass();//原先有问题,添加本行即可
    $blogs[ $blog_id ]->userblog_id = $blog_id;
    $blogs[ $blog_id ]->blogname = get_option('blogname');
    $blogs[ $blog_id ]->domain = '';
    $blogs[ $blog_id ]->path = '';
    $blogs[ $blog_id ]->site_id = 1;
    $blogs[ $blog_id ]->siteurl = get_option('siteurl');
    return $blogs;
    }
    11. Warning: Creating default object from empty value in
    D:wampwwwlyyy_wp_pjwp-includesclass-wp-admin-bar.php on line 167
    首先找到对应文件对应行,改成:
    function add_node( $parent_id, &$menu, $child ) {
    foreach( $menu as $id => $menu_item ) {
    if ( $parent_id == $id ) {
    + $menu->{$parent_id}['children'] = (object) $menu->{$parent_id}['children'];//原先有问题,添加本行即可
    $menu->{$parent_id}['children']->{$child['id']} = $child;
    $child = null;
    return true;
    (以上三个问题解决方案:https://gist.github.com/eko/1073475)
    12. Fatal error: Maximum execution time of 300 seconds exceeded in
    D:wampwwwlyyy_wp_pjwp-includesshortcodes.php on line 176
    max_execution_time

    13. Warning: Creating default object from empty value in
    /home/wordpress/www/wp-admin/includes/post.php on line 428
    首先根据上面的路径找到出问题的代码行,然后添加下面这句:
    $post = new StdClass();//原先有问题,添加本行即可

    14. 还有个小问题就是链入链接那里的rss链接也要改一下,把链入进来的你的域名改成http://localhost。
    15. 当然站点地址和wordpress地址也还是要改为http://localhost的,否则还是原来你的域名。
    16. 无法打开更改过的固定连接的话,查看apache的rewrite_module模块是否开启,没开启的话要先打开,然后重新启动wamp服务。

    刷新一遍之后全部正常了,即可开始编辑文件,改后之后直接上传到远程服务器端就行了,能够同步你的代码,方便而且快捷。

    五、Zend studio调试wordpress源码:
    http://stackoverflow.com/questions/6887746/zend-studio-with-wampserver //按这个做没问题建立好Zend studio工程之后直接导入wordpress工程文件进去或者直接复制到Zend studio工程的文件夹内再在Zend studio软件目录里面按F5刷新一遍即可。

    http://www.yeetrack.com/?p=120
    http://blog.sina.com.cn/s/blog_59a79e8b0100kpqs.html

    六、手工升级wordpress的方法步骤:
    http://jingyan.baidu.com/article/363872ec892d6c6e4ba16fc9.html

    WordPress升级建议
    http://www.wopus.org/wordpress-basic/basic-use/2130.html

    七、亮友医药官网关键信息:
    亮友医药官网的自定义固定连接:/%category%/%post_id%.html


    八、Wordpress插件介绍:
    1. BackUpWordPress这个插件既可以备份数据库,又可以备份网站上的文件,备份的内容都可以发到指定的Email地址,功能非常强大。
    下载地址:http://wordpress.org/plugins/backupwordpress/,备份文件自动发送到gmail。

    九、JavaScript学习:
    在js(jquery)中获得文本框焦点和失去焦点的方法
    详细出处参考:http://www.jb51.net/article/32423.htm

    CSS分别设置Input样式(按input类型)
    十、:
    原文出处:http://www.cnblogs.com/icgg/articles/1647068.html
    <input type="text" /> 文本框
    <input type="password" /> 密码框
    <input type="submit" /> 提交按钮
    <input type="reset" /> 重置按钮
    <input type="radio" /> 单选框
    <input type="checkbox" /> 复选框
    <input type="button" /> 普通按钮
    <input type="file" /> 文件选择控件
    <input type="hidden" /> 隐藏框
    <input type="image" /> 图片按钮

    十一、JS代码学习:
    if(document.activeElement.id == this.id) 判断当前输入框(或者控件)是否获得焦点。

  • 相关阅读:
    -bash: belts.awk: command not found
    PLS-00357: Table,View Or Sequence reference 'SEQ_TRADE_RECODE.NEXTVAL' not allowed in this context
    初识makefile
    proc:基本数据库操作
    ORA-12154: TNS:could not resolve the connect identifier specified
    简单的爬虫
    合并一个文文件夹下的所有Excel文件
    Python 递归读取文件夹内所有文件名(包含子文件夹)
    CSS
    JQ
  • 原文地址:https://www.cnblogs.com/bison1989/p/3443026.html
Copyright © 2020-2023  润新知