Cách bật Chế độ nhà phát triển trong Magento 1.7


20

Tôi đang cố gắng kích hoạt Chế độ nhà phát triển trên một trang web bằng Magento 1.7. Cho đến nay tôi đã thêm:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

đến .htaccesstập tin và:

...
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}
...

vào index.phptập tin như được mô tả ở đây . Tôi thậm chí đã xóa Ifđiều khoản, chỉ để lại:

...
    Mage::setIsDeveloperMode(true);
...

trong tệp index.php. Nhưng vẫn không gặp may. Tôi đang thiếu gì? Tôi nên làm gì để kích hoạt Chế độ nhà phát triển?


1
Cả hai phương pháp của bạn nên hoạt động. Bạn có ý nghĩa gì bởi "vẫn không có may mắn"? Điều gì xảy ra khiến bạn nói rằng nó không hoạt động?
Marius

Câu trả lời:


26

Hãy thử những điều sau trong index.phptập tin của bạn :

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

Ngoài ra, hãy đảm bảo kiểm tra kỹ xem bạn có:

1. Vô hiệu hóa Hệ thống bộ đệm > Quản lý bộ đệm> Chọn tất cả [hộp kiểm]> Tác vụ = Tắt> Gửi

2. Lập chỉ mục lại tất cả hệ thống> Quản lý chỉ mục> Chọn tất cả [hộp kiểm]> Hành động = Dữ liệu Reindex> Gửi

3. Vô hiệu hóa Hệ thống biên dịch > Công cụ> Biên dịch> Tắt

Lưu ý: Theo chế độ biên dịch mặc định bị tắt. Vì vậy, chỉ cần kiểm tra xem Trạng thái trình biên dịch đã được bật hay chưa.

4. Bật Hệ thống ghi nhật ký > Cấu hình> Nâng cao> Nhà phát triển> Cài đặt nhật ký> Đã bật => Có


Mage :: setIsDeveloperMode (đúng); là vé Chúc mừng.
Darth Egregious

tôi làm bất cứ điều gì khi kích hoạt ini_set ('display_errors', 1); công việc của nó
Saeed Darvish

9

Ba điều có thể kiểm tra

  1. Bạn đang chỉnh sửa sai index.php/ .htaccesstập tin

  2. Bạn có mã tùy chỉnh khác trong hệ thống đang tắt chế độ nhà phát triển

  3. Kỳ vọng của bạn về những gì nhà phát triển thực hiện là không chính xác (Mô tả bạn không phù hợp với kỳ vọng có thể giúp mọi người gỡ lỗi vấn đề của bạn)


Cảm ơn Alan! 1. Các tập tin Im chỉnh sửa được đặt trong Tài liệu gốc. 2. Hệ thống là bản cài đặt mới của Magento nên không phải là vấn đề. 3. Tôi hy vọng các lỗi sẽ xuất hiện trong cửa sổ trình duyệt thay vì một trang trống trắng, mà tôi đang nhận được. Là kỳ vọng của tôi một chút tắt?
fuumind

Giá trị php ini display_errors là gì? Nhật ký lỗi của máy chủ web là gì?
Alan Storm

Các nhật ký lỗi máy chủ web là (tất nhiên) là nơi để tìm! Cảm ơn đã chỉ ra rằng! :) Có phải các lỗi đã được trình bày trên một trang web không thể kết xuất hoặc Magento thất bại trong thiết kế?
fuumind

1

Hãy thử các cách sau trong tệp index.php của bạn: Move Mage :: setIsDeveloperMode (true); từ Nếu điều kiện.


if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

TO

Mage::setIsDeveloperMode(true); if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { ini_set(’display_errors’, 1); }


0

Nó cũng có thể là do chuyển hướng máy chủ.

Vui lòng kiểm tra đầu ra phpinfo và kiểm tra $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']biến.

Giải trình :

Nếu bạn đang làm việc với mô-đun Apache mod_rewrite và muốn thiết lập một số vars môi trường, hướng dẫn Apache nói rằng các vars này có thể được truy cập trong CGI bằng cách sử dụng $ENV{VAR}. Trong PHP Bạn có thể muốn viết $_ENV['VAR']để lấy giá trị của VAR, nhưng Bạn phải truy cập nếu thông qua $_SERVERvà theo một số cách khác nhau:

  1. Ví dụ: .htaccess và example.php

RewriteEngine trên RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]

  1. Ví dụ: .htaccess và index.php

RewriteEngine trên RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

Lưu ý: Nếu bất kỳ RewriteRule nào khớp, chuyển hướng nội bộ hơn khởi động lại (sau quy tắc được xác định cuối cùng hoặc ngay sau quy tắc phù hợp có cờ L) kiểm tra lại toàn bộ quy tắc. Đối với chuyển hướng nội bộ, mọi VAR được xác định sẽ có tiền tố 'REDIRECT_', tức là VAR1 sẽ là REDIRECT_VAR1, VAR2 sẽ là REDIRECT_VAR2.

Tất nhiên, bạn có thể (bổ sung) xác định lại VAR gốc:

RewriteEngine on RewriteRule ^ index.php $ \ - [E = var1:% {REDIRECT_VAR1}, E = var2:% {REDIRECT_VAR2}, L]? RewriteRule var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

Với điều này, bạn sẽ có $_SERVER['REDIRECT_VAR*']$_SERVER['VAR*'].


Các ví dụ đã cho chỉ để giải thích, trong mọi trường hợp, chúng không nhằm phù hợp với nhu cầu của bạn. "\" Trong các ví dụ .htaccess chỉ dành cho mục đích hiển thị, chúng không nên xuất hiện trong tệp .htaccess thực. Dấu phân cách đối số ';' trong các liên kết cũng có thể là '&', nhưng điều này có thể gây ra một số rắc rối với HTML / XHTML. Xem các trang sau để biết thêm thông tin về vấn đề này:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.