·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设问答 >> 在iXWebHosting上安装WP遇到的问题及解决方案

在iXWebHosting上安装WP遇到的问题及解决方案

作者:佚名      网站建设问答编辑:admin      更新时间:2022-07-23

最近在iXWebHosting的虚拟主机上安装WordPress,遇到两个问题。这里跟大家分享一下解决方法。

只能安装到子目录的问题

使用iXWebHosting提供的cPanel后台的EasyApps Collection直接安装应用程序WordPress的时候,安装位置必须输入一个目录名,也就是说,WordPress必须安装到一个网站的某个目录中,而我是想直接安装到该网站的根目录下。

只能折衷一下:随便输入一个目录,如输入/wordpress,然后一步一步安装完成。

这时候使用http://domain/wordpress登录安装好的WordPress,进入Generate Setting,把博客地址改成直接的根目录地址:http://domain/。

保存,OK,现在不能访问了(因为根目录下根本没有/wp-admin/)。

现在进入cPanel的File Manager,全选/domain/wordpress下的所有文件,Move到/domain/中,确定,等待进度完成。

再回到刚才无法访问的页面,OK,完成!

中文乱码

安装好WordPress以后,发现在文章中输入的中文字符,一保存就都变成了问号。

查了若干资料,找到一份iXWebHosting提供的官方资料,是MySQL默认编码的问题,MySQL新建数据库的时候,没有指定编码,因此使用了默认的latin1(冰岛语)编码。官方给出的建议是登录cPanel后台的PHPAdmin,手动逐一讲所有编码应用为latin1的表和字段修改成utf8_unicode_ci。

曾经尝试修改过一次,问题确实解决了,但是,表和字段,一共有六十几个地方需要修改。真的很繁琐。再次提供一份SQL语句,从PHPAdmin中可以直接运行SQL进行修改全部。不过这是针对WordPress 2.9的数据库。不知道其他版本或者以后的新版本数据库结构是否会发生改变。

MYSQL

alter table `wp_posts` default character set utf8 collate utf8_unicode_ci;
alter table `wp_posts` change `post_content` `post_content` longtext character set utf8 collate utf8_unicode_ci not null
,
change `post_title` `post_title` text character set utf8 collate utf8_unicode_ci not null
,
change `post_excerpt` `post_excerpt` text character set utf8 collate utf8_unicode_ci not null
,
change `post_status` `post_status` varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'publish'
,
change `comment_status` `comment_status` varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'open'
,
change `ping_status` `ping_status` varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'open'
,
change `post_password` `post_password` varchar( 20 ) character set utf8 collate utf8_unicode_ci not null
,
change `post_name` `post_name` varchar( 200 ) character set utf8 collate utf8_unicode_ci not null
,
change `to_ping` `to_ping` text character set utf8 collate utf8_unicode_ci not null
,
change `pinged` `pinged` text character set utf8 collate utf8_unicode_ci not null
,
change `post_content_filtered` `post_content_filtered` text character set utf8 collate utf8_unicode_ci not null
,
change `guid` `guid` varchar( 255 ) character set utf8 collate utf8_unicode_ci not null
,
change `post_type` `post_type` varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'post'
,
change `post_mime_type` `post_mime_type` varchar( 100 ) character set utf8 collate utf8_unicode_ci not null
;

alter table `wp_comments` default character set
utf8 collate utf8_unicode_ci;
alter table
`wp_comments`
change `comment_author` `comment_author` tinytext character set utf8 collate utf8_unicode_ci not null
,
change `comment_author_email` `comment_author_email` varchar(100) character set utf8 collate utf8_unicode_ci not null
,
change `comment_author_url` `comment_author_url` varchar(200) character set utf8 collate utf8_unicode_ci not null
,
change `comment_author_ip` `comment_author_ip` varchar(100) character set utf8 collate utf8_unicode_ci not null
,
change `comment_content` `comment_content` text character set utf8 collate utf8_unicode_ci not null
,
change `comment_approved` `comment_approved` varchar(20) character set utf8 collate utf8_unicode_ci not null default '1'
,
change `comment_agent` `comment_agent` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `comment_type` `comment_type` varchar(20) character set utf8 collate utf8_unicode_ci not null
;

alter table `wp_links` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_links` change `link_url` `link_url` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `link_name` `link_name` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `link_image` `link_image` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `link_target` `link_target` varchar(25) character set utf8 collate utf8_unicode_ci not null
,
change `link_description` `link_description` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `link_visible` `link_visible` varchar(20) character set utf8 collate utf8_unicode_ci not null default 'y'
,
change `link_rel` `link_rel` varchar(255) character set utf8 collate utf8_unicode_ci not null
,
change `link_notes` `link_notes` mediumtext character set utf8 collate utf8_unicode_ci not null
,
change `link_rss` `link_rss` varchar(255) character set utf8 collate utf8_unicode_ci not null
;

alter table `wp_options` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_options` change `option_name` `option_name` varchar(64) character set utf8 collate utf8_unicode_ci not null
,
change `option_value` `option_value` longtext character set utf8 collate utf8_unicode_ci not null
,
change `autoload` `autoload` varchar(20) character set utf8 collate utf8_unicode_ci not null default 'yes'
;

alter table `wp_postmeta` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_postmeta` change `meta_key` `meta_key` varchar(255) character set utf8 collate utf8_unicode_ci null default null
,
change `meta_value` `meta_value` longtext character set utf8 collate utf8_unicode_ci null default null
;

alter table `wp_terms` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_terms` change `name` `name` varchar(200) character set utf8 collate utf8_unicode_ci not null
,
change `slug` `slug` varchar(200) character set utf8 collate utf8_unicode_ci not null
;

alter table `wp_term_relationships` default character set
utf8 collate utf8_unicode_ci;

alter table `wp_term_taxonomy` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_term_taxonomy` change `taxonomy` `taxonomy` varchar(32) character set utf8 collate utf8_unicode_ci not null
,
change `description` `description` longtext character set utf8 collate utf8_unicode_ci not null
;

alter table `wp_usermeta` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_usermeta` change `meta_key` `meta_key` varchar(255) character set utf8 collate utf8_unicode_ci null default null
,
change `meta_value` `meta_value` longtext character set utf8 collate utf8_unicode_ci null default null
;

alter table `wp_users` default character set
utf8 collate utf8_unicode_ci;
alter table `wp_users` change `user_login` `user_login` varchar(60) character set utf8 collate utf8_unicode_ci not null
,
change `user_pass` `user_pass` varchar(64) character set utf8 collate utf8_unicode_ci not null
,
change `user_nicename` `user_nicename` varchar(50) character set utf8 collate utf8_unicode_ci not null
,
change `user_email` `user_email` varchar(100) character set utf8 collate utf8_unicode_ci not null
,
change `user_url` `user_url` varchar(100) character set utf8 collate utf8_unicode_ci not null
,
change `user_activation_key` `user_activation_key` varchar(60) character set utf8 collate utf8_unicode_ci not null
,
change `display_name` `display_name` varchar(250) character set utf8 collate utf8_unicode_ci not null;

我对MySQL的语法不太懂,所以使用了这样的笨方法,应该有办法可以进行表和字段的遍历,然后替换这样子的。希望有熟悉MySQL的高手分享一份更好的SQL代码。