心动不如行动
原理
- 使用端口复用技术,根据不同的请求内容,将不同的域名解析到对应的网站。
问题
一、Wordpress 安装数据库问题
您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
请检查 PHP 扩展mysqli
已安装并启用。
解决方案
- docker exec -it php容器名 bash # 进入容器
- docker-php-source extract # 提取 php 扩展源码,如果之前配置另一个网站时执行过则不需要执行
- cd /usr/src/php/ext # 进入 php 扩展源码路径
- docker-php-ext-install mysqli # 安装扩展
- 在 /usr/local/etc/php 下创建 php.ini 并添加内容(如果有则新增): extension = mysqli
- docker restart php容器名,重启,然后查看 phpinfo() ,里面出现了 pdo_mysql。
二、创建配置文件无法写入问题
无法写入wp-config.php
文件。
您可以手工创建wp-config.php
文件,并将以下文本粘贴于其中。
解决方案
- 要不修改权限为 777。
chmod -R 777 /文件夹路径
- 要不在网站根目录下创建
wp-config.php
并将给出的内容复制进去。后来安装插件之类的很麻烦,建议修改权限吧。降低点安全性换取实用性。
- 要不修改权限为 777。
三、插件更新问题
更新插件的时候:要执行请求的操作,WordPress 需要访问您网页服务器的权限。 请输入您的 FTP 登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的主机提供商。
解决方案
- 修改wp-config.php文件,文件末尾添加如下三行内容:
define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
四、必需的模组 gd 未被安装或已被禁用。
- 按照问题一里面的方法安装扩展,出现了
No package 'zlib' found
- 再次按照问题一里面的方法安装 zlib,结果出现了
Cannot find config.m4.
,进入 /usr/src/php/ext/zlib 文件夹下,发现这里 config.m4 名字是 config0.m4,修改回去即可。 - 再次安装 zlib,还是提示
No package 'zlib' found
。然后发现了需要安装 zlib 库及其开发包。
apt-get update
apt-get install -y zlib1g-dev
再次 docker-php-ext-install gd,很好,出现了 No package 'libpng' found。再次
apt-get update apt-get install -y libpng-dev
- 再进行 docker-php-ext-install gd,安装成功,然后记住 docker restart php容器名。就好了。