不能直接拷贝xampp/htdocs目录,因linux无windows路径结构、.dll扩展不兼容.so、mysql数据文件格式与权限不匹配、php硬编码路径失效。

能搬,但直接复制 XAMPP 文件夹过去必然失败——Linux 服务器没有 xampp 目录结构、mysql 和 php 版本不兼容、Windows 路径分隔符和权限模型完全不同。
为什么不能直接拷贝 xampp/htdocs 整个目录?
本地 XAMPP 是 Windows 环境下的集成包,其 Apache 配置、PHP 扩展、MySQL 数据目录路径(如 C:\xampp\mysql\data)在 Linux 云服务器上根本不存在。硬拷贝会导致:
-
httpd.conf或apache2.conf加载失败(路径错误、模块名不同,比如php_module在 Linux 下是libphp.so) - PHP 扩展(如
php_mysqli.dll)无法加载——Linux 用的是.so文件,不是.dll - MySQL 数据库文件(
ibdata1,.frm)直接复制会损坏或被拒绝启动(InnoDB 日志格式、文件权限、datadir 路径不匹配) - Windows 风格的绝对路径(
C:/xampp/htdocs/wp-content)在 PHP 代码里硬编码,运行时报Warning: include(): failed to open stream
wp-config.php 和数据库迁移必须同步改哪些地方?
WordPress 迁移最常卡在这一步:配置写对了,但数据库导入后仍报错“Error establishing a database connection”。关键不是只改 DB_NAME、DB_USER、DB_PASSWORD,还要确认:
-
DB_HOST必须是云服务器上的 MySQL 实际地址:localhost(仅当 MySQL 与 PHP 同机且 socket 可达)或127.0.0.1(强制走 TCP,避开 Unix socket 权限问题);阿里云/腾讯云虚拟主机常用的是域名形式,如rm-xxxx.mysql.rds.aliyuncs.com -
DB_CHARSET和DB_COLLATE必须与导出 SQL 文件中CREATE TABLE语句的编码一致;若本地导出用的是utf8mb4,而云服务器 MySQL 版本 utf8 并手动替换 SQL 文件里的所有utf8mb4→utf8、utf8mb4_unicode_ci→utf8_general_ci - 数据库导入前,务必先在云服务器创建空库,并显式指定字符集:
CREATE DATABASE <code>mydbCHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - 如果使用宝塔或云虚拟主机,
wp-config.php中的DB_USER往往不是root,而是控制台单独创建的账号(如myuser_abc),权限只授予对应数据库
FTP 上传后网站空白或 500 错误,优先查哪三件事?
文件传上去了,浏览器却显示空白页或 HTTP 500,不是代码问题,大概率是环境适配没到位:
- 检查 PHP 版本是否匹配:XAMPP 默认 PHP 8.0+,但阿里云部分老虚拟主机默认仍是 PHP 5.6;用
php -v或在站点根目录放一个info.php(内容:<?php phpinfo(); ?>)验证;WordPress 6.x 要求 PHP ≥ 7.4 - 确认文件权限:Linux 下 Web 服务(如
www-data或apache用户)需有读取wp-config.php、执行index.php、写入wp-content的权限;推荐统一设为644(文件)和755(目录),wp-content及子目录可设755或775(视组权限而定) - 查看错误日志:Apache 日志通常在
/var/log/apache2/error.log,Nginx + PHP-FPM 则要看/var/log/nginx/error.log和/var/log/php-fpm/www-error.log;常见线索如PHP Parse error(短标签未启用)、require(): failed to open stream(路径大小写错误,Linux 区分大小写)
伪静态失效、文章链接 404 怎么快速定位?
XAMPP 本地用的是 .htaccess,但云服务器若用 Nginx(如宝塔默认、轻量应用服务器推荐),.htaccess 完全不生效——这是最隐蔽的坑。
- Apache 环境:确认
mod_rewrite已启用,且虚拟主机配置中AllowOverride All开启(不是None) - Nginx 环境:必须把 WordPress 的 rewrite 规则手动加到站点配置里,例如:
location / {
try_files $uri $uri/ /index.php?$args;
}
宝塔面板可在「网站」→「设置」→「伪静态」里选择 WordPress 模板;手动配置时,确保该段落在 server { ... } 块内,且未被其他 location 规则覆盖。
另外,迁移后首次登录后台,务必进入「设置」→「固定链接」→ 点一次「保存更改」,强制重写 .htaccess(Apache)或刷新内部路由缓存(Nginx + WP 插件)。











