零基础学NAS 篇四:QNAP配合WordPress让你拥有自己的秘密花园。(来自张大妈:@追梦天堂 )中的介绍:
- 打开APP应用装起来,wordpress和phpmyadmin都得装起来。
- 登陆phpmyadmin。初始用户名和密码试下admin,admin或者root,root,进去以后新建一个数据库,名字自己定后面会用到
- 点击wordpress,进入安装界面。这里简单,一步步往下做就行了。
- 登陆。Hello World,欢迎大家来到新世界。
- 选一个自己喜欢的主题。wp的主题 都很棒,
- 提供几个必备的插件吧:
1.Akismet 保护您的站点免受垃圾评论
2All-in-One WP 备份功能,所有博客数据的迁移工具
3Maintenance 维护工具,打开以后网站属于维护状态,外面的引擎搜索不到网站内容(此处省略一行字)。
登录phpmyadmin时出现错误提示: mysqli_real_connect(): (HY000/2002): No such file or directory
搜索后得到一个解决方案:(来自:https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory)——这个方法有可能导致其他问题,弃用-by farmer
change localhost to 127.0.0.1 in /etc/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['host'] = '127.0.0.1';
The reason for this is that pma tries to connect to the mysql.socket if you use localhost. If you use 127.0.0.1 PMA makes a TCP connection which should work.
需要提前安装数据库mysql,在新版QTS5.0上,原来系统自带的SQL server改为了需要从App Center单独安装的MariaDB(我使用的是10版本),安装时要求设置的根密码后续登录phpmyadmin时需要用到。
打开phpmyadmin并登录后,新建一个用于Wordpress的数据库
![]() | 新建数据库,这里我使用的字符集不知道对不对,我是参照登录主页上显示的默认值。 |
|---|---|
![]() 点击打开Wordpress图标 | ![]() 居然报错了2 |
![]() 按照他的要求改写协议 ![]() ➡️跳转到这个页面,居然同样还要再改一次 | ![]() 选择显示语言 |
![]() |
Qnap新的Wordpress 5.8.2的qpkg安装与之前的模式有点不同
WordPress 5.8.2( 2022/01/07 )
- The structure of WordPress 5.8.2 upgrade to the container base with docket image.
- The database has been changed from QTS build-in / qpkg to the container in WordPress QPKG.
- The “wp-content” folder has been changed from /share/Web/WordPress/wp-content to {QPKG_INSTALL_PATH}/data/web/WordPress/wp-content. https://wordpress.org/news/2021/11/wordpress-5-8-2-security-and-maintenance-release/
可以参考Qnap官方文档How do I locate the configuration files of WordPress after upgrading WordPress to 5.8.x in QTS 5.0?
也就是说完全不需要启动QTS自带的Web服务,也不需要安装MySql(MariaDB)和MyPhpAdmin……
5.8.2安装完成后的安装目录是:/share/CACHEDEV1_DATA/.qpkg/WordPress,可惜文件及目录的权限有些迷一般的访问错误
drwx—— 8 admin administrators 4096 2022-05-12 12:55 WordPress/
$ sudo chmod -R 775 WordPress/
$ sudo chown -R admin:administrators WordPress/
当update平台、插件以及主题时总是提示需要验证网站ftp凭证,使用如下方法跳过。
首先在wp-config.php中加入下面代码
/** add by Farmer for ignore FTP login */
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
再执行
sudo chown -R Farmer:administrators data/
chmod -R 777 data/
重新来过
![]() | ![]() |
|---|---|
1.新建php文件,写入如下代码
<?phpecho phpinfo();
然后在浏览器访问该页面,搜索php.ini,
**问题:**一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。
**分析:**这是典型的socket没有正确设置的情况。
连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127.0.0.1,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127.0.0.1也是分开设置的。当设置为127.0.0.1时,系统通过TCP/IP方式连接数据库;当设置为localhost时,系统通过socket方式连接数据库。
**解决:首先要看本机MySQL的socket套接字文件在哪里,查看命令是: **
?
|1|mysqld --verbose --help | grep socket|
| —– | —– |
输出结果显示套接字文件的位置,比如:这台服务器显示的是
?
| 1 | socket /var/run/mysqld/mysqld.sock |
|---|
然后修改php的配置文件php.ini与之对应起来就好了。
找到这一项:
?
| 1 | mysql.default_socket = |
|---|
一般来说这一项都是空的,改成:
?
| 1 | mysql.default_socket = /var/run/mysqld/mysqld.sock |
|---|
这里应写上一步查询到的文件,根据你的情况设置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的话,立即就生效,如果是FASTCGI方式,需要重启一下fastcgi进程。
作者:Qyou 链接:https://www.imooc.com/article/49171 来源:慕课网

**5.重启nginx或者apache ** 注: php7以上已经不支持mysql老旧的连接方式了,对于mysql.default_socket 选项是没有的

wordpress用户对应的主机名如果设置为%,无法解析为localhost,需要直接设置为localhost









