重新登录OneDrive后访问本地WordPress出现PHP致命错误求助
解决WordPress + OneDrive + IIS下的文件加载错误
环境信息
- 系统:Win10
- 服务:IIS
- 程序:WordPress
- 存储:OneDrive
- PHP版本:7.4
- 已配置权限:
E:\onedrive\webhome文件夹分配IIS_IUSER完全控制权限
报错信息
PHP Warning: require_once(E:\onedrive\webhome\wwwroot\wp-load.php): failed to open stream: Invalid argument in E:\onedrive\webhome\wwwroot\wp-blog-header.php on line 13 PHP Fatal error: require_once(): Failed opening required 'E:\onedrive\webhome\wwwroot/wp-load.php' (include_path='.;C:\php\pear') in E:\onedrive\webhome\wwwroot\wp-blog-header.php on line 13
解决步骤
- 确保WordPress文件本地可用:右键任务栏OneDrive图标,进入设置,将
E:\onedrive\webhome文件夹设置为始终保留在此设备上,等待所有文件同步完成,避免PHP访问仅在线的占位文件。 - 重新验证权限继承:右键
E:\onedrive\webhome\wwwroot→属性→安全→高级,确认IIS_IUSER权限已继承到所有子文件和文件夹,若未继承,勾选「替换子容器和对象的权限项」后应用。 - 检查PHP open_basedir配置:打开
php.ini,查找open_basedir,确认已包含E:\onedrive\webhome路径,若未添加则补充,修改后重启IIS服务。 - 重置OneDrive同步:右键OneDrive图标→设置→账户→取消链接此PC,重新登录后等待文件夹完全同步,确保所有WordPress文件都已下载到本地。
- 测试文件访问:在
wwwroot创建test.php,内容如下:
访问<?php $file = 'E:\onedrive\webhome\wwwroot\wp-load.php'; if(file_exists($file)){ echo "文件存在"; $handle = fopen($file, 'r'); if($handle){ echo ",且可读取"; fclose($handle); } else { echo ",但无法读取"; } } else { echo "文件不存在"; } ?>127.0.0.1/test.php,根据输出定位具体问题(文件缺失/权限不足)。
内容的提问来源于stack exchange,提问作者kerwin xu
相关产品推荐
相关产品推荐

