心动不如行动

原理

  • 使用端口复用技术,根据不同的请求内容,将不同的域名解析到对应的网站。

问题

一、Wordpress 安装数据库问题

您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
请检查 PHP 扩展 mysqli 已安装并启用。
  • 解决方案

    1. docker exec -it php容器名 bash # 进入容器
    2. docker-php-source extract # 提取 php 扩展源码,如果之前配置另一个网站时执行过则不需要执行
    3. cd /usr/src/php/ext # 进入 php 扩展源码路径
    4. docker-php-ext-install mysqli # 安装扩展
    5. 在 /usr/local/etc/php 下创建 php.ini 并添加内容(如果有则新增): extension = mysqli
    6. docker restart php容器名,重启,然后查看 phpinfo() ,里面出现了 pdo_mysql。

二、创建配置文件无法写入问题

无法写入 wp-config.php 文件。
您可以手工创建 wp-config.php 文件,并将以下文本粘贴于其中。
  • 解决方案

    1. 要不修改权限为 777。chmod -R 777 /文件夹路径
    2. 要不在网站根目录下创建wp-config.php并将给出的内容复制进去。后来安装插件之类的很麻烦,建议修改权限吧。降低点安全性换取实用性。

三、插件更新问题

更新插件的时候:要执行请求的操作,WordPress 需要访问您网页服务器的权限。 请输入您的 FTP 登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的主机提供商。
  • 解决方案

    1. 修改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容器名。就好了。