无法读取 phpMyAdmin 文件

无法读取 phpMyAdmin 文件

每当我尝试上传文件并导入 phpMyAdmin 时,都会出现以下错误:

无法读取文件

phpMyAdmin 是我在服务器上运行的唯一的 php 脚本,因此我的 php 配置文件除了以下更改外,其他都相当原始:

upload_tmp_dir = /tmp
upload_max_filesize = 10M
post_max_size = 50M
memory_limit = 64M

我尝试导入的文件为 4MB,完全在 10MB 的上传大小和 50MB 的帖子大​​小之内(它也是 UTF-8)。设置 upload_tmp_dir 实际上解决了我之前遇到的一个问题(phpMyAdmin 抱怨我甚至没有指定文件),或者至少将错误更改为我现在得到的结果。/tmp 上的权限为 777。

问题可能出在哪里?该文件来自 hostmonster 上的 cpanel 安装,我正在将其迁移到自己的 vps 上。我尝试从 cpanel 备份实用程序和他们的 phpMyAdmin 安装(未压缩和 gzip 压缩)中获取 sql 文件。我不认为文件已损坏。

额外信息:我正在运行 CentOS 5.6、phpMyAdmin 3.4.2、mysql 5.1.52 和 php 5.2.16。

答案1

如果open_basedir在 php.ini 中设置,PHP 将无法访问该目录上级的文件。

答案2

我认为问题在于设置php.ini

upload_tmp_dir = /tmp
open_basedir = /data/home/:/tmp/

需要open_basedir添加/tmp/太多

答案3

我认为您可以在配置文件 php.ini 中进行设置:

upload_tmp_dir = /tmp
open_basedir = /var/www:/data/home:/tmp

但是,不要添加目标目录的最后一个斜杠。在 php 文档中发现:

When you want to restrict access to only the specified directory, end with a slash. For example: open_basedir = /dir/incl/

http://php.net/manual/en/ini.core.php

相关内容