2011-09-13 33 views
5

Khi tôi đang cấu hình các thiết lập cho Magento Connect tôi nhận được lỗi sau:Magento Cài đặt FTP Connect

Deployment FTP Error. Local file doesn't exist: 
    Settings has not been loaded. Used default settings 
    Config file does not exists please save Settings 

Các chi tiết tôi sử dụng là:

ftp.mysite.com.au 
myftpusername 
myftppassword 
install path: public/www/shop (advise by web host to use this) 

Magento ngồi trong một thư mục có tên/cửa hàng

Bất kỳ trợ giúp nào. Tôi đã xem trên trang web này và các diễn đàn Magento và đã không tìm thấy một giải pháp.

Trả lời

4

Bạn có đang chia sẻ lưu trữ theo bất kỳ cơ hội nào không? Nếu vậy, điều này có thể giúp bạn.

Tôi đã dành hầu hết một ngày làm rối tung xung quanh với Magento Connect Manager 2.0 cố gắng làm cho nó hoạt động với tùy chọn FTP. Tôi thậm chí không thể có được nó để lưu bất kỳ cài đặt của tôi trên tab cài đặt, nó chỉ giữ trở lại mặc định.

Tôi cuối cùng đã theo dõi sự cố xuống để nhấn mạnh vào việc sử dụng sys_get_temp_dir của Magento để xác định thư mục tạm thời. Điều này thường không làm việc trên chia sẻ lưu trữ, vì bạn sẽ không có quyền ghi vào/tmp. Thật không may, không có lỗi tạo ra khi nó không thành công, và Magento chỉ tiếp tục nhưng không lưu hoặc tải các cài đặt của Magento Connect FTP. Tôi đã có một vấn đề tương tự ở nơi khác trong mã lõi trước đây.

Tôi đã tạo một thư mục tạm thời trong cài đặt chính của tôi tại/var/tmp và làm cho nó có thể ghi trên thế giới.

Có 11 địa điểm trong/downloader và/lib/Mage sử dụng chức năng này để xác định thư mục tạm thời. Đây sẽ cần phải được thay đổi để chỉ bất cứ nơi nào bạn quyết định đặt thư mục temp của bạn. Tôi không chắc liệu tất cả chúng có cần thay đổi không, hay chính xác là tất cả những gì họ làm, nhưng tôi đã thay đổi chúng ở bên an toàn. Chi tiết ở cuối bài đăng. Số dòng là gần đúng, nhưng chỉ tìm kiếm sys_get_temp_dir trong mỗi tệp.

Một khi bạn đã thực hiện các thay đổi mà bạn sẽ cần phải đảm bảo rằng các thư mục sau đây là thế giới có thể ghi, đệ quy:

/var/package/tmp/ 
/downloader/.cache 
/media 

Mặt tích cực của các tùy chọn FTP là gốc Magento không còn cần có thể ghi được.

Bất kỳ thay đổi nào bên dưới có thể làm hỏng Magento Connect, đặc biệt là những thay đổi được đánh dấu bằng **. Tôi đã thực hiện chúng, và chạy một cài đặt của một mô-đun mà dường như đi OK, nhưng tôi không đảm bảo về chúng. Chúng cũng hơi lộn xộn ở một số nơi, tôi chắc chắn rằng chúng có thể được cải thiện - có thể có cách tốt hơn để nhận magento_root trong một số trường hợp. Hãy cẩn thận, có các tệp có tên tương tự trong các thư mục con khác nhau.

Tuy nhiên, hy vọng họ có thể cứu một người nào đó trải qua những phiền toái mà tôi có ngày hôm nay. Sẽ là một trợ giúp tuyệt vời nếu Varien chỉ viết chức năng tmpDir của riêng họ và cho phép bạn chỉ định thư mục tạm thời trong quản trị viên, tiết kiệm rất nhiều rắc rối. Ah tốt.

downloader \ lib \ Mage \ Connect \ config.php, dòng 207:

// $tempFile = tempnam(sys_get_temp_dir(),'config'); 
$tempFile = tempnam($this->magento_root. '/var/tmp/' ,'config'); 

downloader \ lib \ Mage \ Connect \ Command \ Registry.php, dòng 315:

//$localXml = tempnam(sys_get_temp_dir(),'package'); 
$magento_root = dirname(dirname(__FILE__)) . '/../../../..'; 
$localXml = tempnam($magento_root. '/var/tmp/' ,'package'); 

downloader \ lib \ Mage \ Connect \ Loader \ Ftp.php, dòng 107:

// $tmpDir = sys_get_temp_dir(); 
$magento_root = dirname(dirname(__FILE__)) . '/../../../..'; 
$tmpDir = $magento_root . '/var/tmp/'; 

downloader \ Maged \ Controller.php, 869 **:

//$tempFile = tempnam(sys_get_temp_dir(),'maintenance'); 
$tempFile = tempnam($config->__get('magento_root') . '/var/tmp/' ,'maintenance'); 

Điều này là cần thiết để lưu thay đổi cấu hình của bạn: downloader \ Maged \ Mẫu \ Connect.php, 404:

//$tempFile = tempnam(sys_get_temp_dir(),'config'); 
$tempFile = tempnam($configObj->magento_root. '/var/tmp/' ,'config'); 

downloader \ Maged \ Mẫu \ Config \ Abstract.php, 88 **:

// $tempFile = tempnam(sys_get_temp_dir(),'configini'); 
$magento_root = dirname(dirname(__FILE__)) . '/../../..'; 
$tempFile = tempnam($magento_root. '/var/tmp/' ,'configini'); 

downloader \ lib \ Mage \ Connect \ Packager.php - 5 thay đổi còn lại nằm trong tập tin này.

Dòng 96 - Tôi tin rằng đây là một cần thiết để tải thay đổi cấu hình của bạn lên cài đặt màn hình:

// $tempConfigFile = tempnam(sys_get_temp_dir(),'conf'); 
$magento_root = dirname(dirname(__FILE__)) . '/../../..'; 
$tempConfigFile = tempnam($magento_root . '/var/tmp/' ,'conf'); 

dòng 111:

// $tempCacheFile = tempnam(sys_get_temp_dir(),'cache'); 
$magento_root = dirname(dirname(__FILE__)) . '/../../..'; 
$tempCacheFile = tempnam($magento_root . '/var/tmp/' ,'cache'); 

Khoảng 135, trước khi câu lệnh if:

$magento_root = dirname(dirname(__FILE__)) . '/../../..'; 

sau đó trong cả if và các bộ phận khác:

// $configFile=tempnam(sys_get_temp_dir(),'conf'); 
$configFile = tempnam($magento_root. '/var/tmp/' ,'conf'); 

158:

//$tempConfigFile = tempnam(sys_get_temp_dir(),'conf_'); 
$magento_root = dirname(dirname(__FILE__)) . '/../../..'; 
$tempConfigFile = tempnam($magento_root. '/var/tmp/' ,'conf_'); 
5

Có thể không có bất cứ điều gì làm để với nó nhưng tôi thấy cách xóa các tập tin connect.cfg khi nó phiền hà hoặc kết nối quản lý sẽ không thay đổi các thiết lập.

+0

Tệp +1 connect.cfg chứa đường dẫn mã hóa không hợp lệ – snez

7

Đặt chmod của thư mục "downloader" tạm thời thành 777 (và hoàn nguyên lại sau đó), sao cho kết nối Magento có thể ghi tệp connect.cfg.

0

Lỗi này được hiển thị vì công cụ không thể lưu cài đặt của bạn trong "connect.cfg".

Để giải quyết vấn đề này, trước tiên hãy thay đổi quyền đối với tệp 666 connect.cfg "nằm trong thư mục./Downloader Magento. Ngay sau đó, hãy truy cập Magento Connect và chọn tab" Cài đặt ". ".

0

Nếu bạn truy cập Magento Connect và nó nói cho bạn để kiểm tra các điều khoản ghi, có một cách đơn giản để khắc phục điều này.

Mở SSH client của bạn và đi đến thư mục mà Magento được cài đặt.Khi bạn đang có, sao chép và dán lệnh sau:

find . -type d -exec chmod 777 {} ; 

Nếu bạn đang ở trên một máy chủ cPanel bạn cần phải làm điều này:

find . -type f -exec chmod 755 {} ; 

(hoặc chỉ cần vào quản lý tập tin của bạn và chọn 755)

Trang web Magneto của bạn trên cPanel sẽ không hoạt động với quyền được đặt thành 777! Điều đó sẽ thay đổi quyền trên tất cả các thư mục để ghi, và bạn sẽ có thể sử dụng Magento Connect ngay bây giờ.

Bạn cũng có thể cần phải thay đổi các điều khoản trên các tập tin tải về lê để có thể cài đặt đúng gói Magento Connect:

chmod 777 downloader/pearlib/download/package.xml 
Magento Connect write permissions error 

Sau khi bạn đã thực hiện những gì bạn đã cần phải làm trong Magento Connect, đặt lại quyền của bạn.

LƯU Ý: Thông thường bạn sẽ thấy lỗi này trong môi trường lưu trữ nơi PHP đang chạy dưới dạng mô-đun Apache (mod_php, DSO). Điều đó có nghĩa là, khi bạn cố gắng sử dụng Magento Connect, nó sẽ chạy như người dùng không ai thay vì tên người dùng của bạn. Bạn phải sử dụng SSH để nâng cấp Magento.

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