2012-07-11 27 views
5

Tôi đang tải lên tệp sql 24mb và đã làm theo hướng dẫn để thiết lập thư mục tải lên cho phpmyadmin bằng cách sử dụng $cfg['UploadDir']. Thật không may nó không hoạt động.phpMyAdmin "Không thể truy cập thư mục bạn đặt cho công việc tải lên"

Tôi đã tạo một thư mục bên trong thư mục phpMyAdmin có tên 'tải lên'.

Trong config.inc.php của tôi, tôi đã đặt như sau:

$cfg['UploadDir'] = 'upload'; 

cấu hình Đây là thuật sĩ tạo ra bởi PMA.

Tôi cũng đã cố gắng:

$cfg['UploadDir'] = './upload'; 
$cfg['UploadDir'] = '/absolute_php_my_admin_address/upload'; 

Tôi cũng đã thử tất cả những biến thể với một dấu '/' ở cuối dòng.

Tôi đã tìm thấy nhiều chủ đề trên web có vấn đề chính xác. Thư mục tải lên của tôi có quyền và quyền sở hữu giống như thư mục PMA gốc. Tôi cũng không chạy ở chế độ An toàn.

Bạn đã gặp sự cố này và đã giải quyết vấn đề chưa? Chạy PMA 3.5.2 trên Redhat 5.

Trả lời

18

Tôi biết điều này cũ nhưng tìm kiếm trên google cho vấn đề đó ở đây. Vì vậy, đây là câu trả lời:

Debian và Ubuntu giới hạn quyền truy cập cho các thư mục. Bạn phải sử dụng thư mục phpmyadmin cho điều đó.

Trong Ubuntu, nó là "/ etc/phpmyadmin /" (không có dấu ngoặc kép).

Vì vậy, các cấu hình sẽ là:

$cfg['UploadDir'] = '/etc/phpmyadmin/'; 
+0

Điều đó làm việc .. cảm ơn :) – Deadlock

+1

@willdanceforfun - bất kỳ cơ hội nào có thể trở thành câu trả lời được chấp nhận? Nó đã làm việc cho Diego và đối với tôi ... và đó là lần đầu tiên Google gặp phải vấn đề này. :-) –

+1

@SteveAlmond Tôi đã mang đến áp lực ngang hàng này và đây là câu trả lời được chấp nhận. – willdanceforfun

2

Trước tiên, hãy kiểm tra upload_max_filesize trong php.ini. Theo mặc định, nó là 2M, có nghĩa là, nếu bạn tải lên một tệp> 2M, nó sẽ thất bại. (Cố gắng nén tệp SQL và tải lên lại.) Bạn có thể thay đổi upload_max_filesize thành giá trị lớn hơn (< 20M) trong php.ini và khởi động lại máy chủ web của bạn.

Và đảm bảo rằng tệp UploadDir có thể ghi được. Trong Linux, bạn có thể chạy lệnh này để tạo thư mục có thể ghi: chmod a + w tải lên

+0

Cảm ơn điều đó - Tôi đã thay đổi upload_max_filesize thành 80m và các cài đặt có liên quan khác như thời gian thực hiện tối đa, vv. Thư mục cũng có thể ghi. Dù sao cũng cảm ơn. – willdanceforfun

1

Bạn có thể đặt file sao lưu trong bất kỳ vị trí, chỉ cần điều chỉnh "php_admin_value open_basedir" chỉ thị trong apache.conf tập tin, nó phải ở trong cùng thư mục với cấu hình. inc.php (trong Ubuntu ít nhất) hoặc một nơi nào đó trong apache config dir

1

Khá một câu hỏi cũ nhưng đã được làm việc này kể từ buổi sáng và không có giải pháp làm việc. Nhưng cuối cùng và như mọi khi, t là một giải pháp thực sự đơn giản đối với tôi trên centOS. Vui lòng đảm bảo rằng tên thư mục của bạn là chính xác. e.g: "/ etc/phpmyadmin/" đã không làm việc

nhưng "etc/php MyAdmin/" làm việc tốt

1

Ngoài ra, hãy nhớ kiểm tra xem tập tin config.inc.php bạn đã có chứa những dòng:

/* 
* Directories for saving/loading files from server 
*/ 
$cfg['UploadDir'] = ''; 
$cfg['SaveDir'] = ''; 

Nếu có, hãy xóa chúng.

2

Khi trên máy chủ, ví dụ tôi đang sử dụng máy chủ, tôi cần đăng nhập với tư cách người dùng root bằng cách sử dụng Putty.exe. Thần I đã phải điều hướng đến thư mục tập tin này, /usr/local/cpanel/base/3rdparty/phpMyAdmin/config.inc.php

này dòng $ cfg [ 'UploadDir'] = ''; Để $ cfg ['UploadDir'] = '/ home/rootnameofwebsite/public_html/createAFolderHere';

Điều đó có các thư mục để đồng bộ hóa ok. Tôi gặp sự cố riêng khi không nhận ra tệp .dbf mà tôi đã tải lên. Vẫn cố gắng tìm ra điều đó. Nhưng tôi đã thử một tệp .sql thông thường và hiển thị trong trình đơn thả xuống.

Các vấn đề liên quan