วิธีเปิดใช้งานโหมดผู้พัฒนาใน Magento 1.7


20

ฉันกำลังพยายามเปิดใช้งานโหมดผู้พัฒนาบนไซต์โดยใช้ Magento 1.7 จนถึงตอนนี้ฉันได้เพิ่ม:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

ไปที่.htaccessไฟล์และ:

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

ไปยังindex.phpไฟล์ตามที่อธิบายไว้ที่นี่ ฉันได้ลบIfประโยคออกเหลือเพียง:

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

ในไฟล์ index.php แต่ก็ยังไม่มีโชค ฉันพลาดอะไรไป ฉันควรทำอย่างไรเพื่อเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์


1
ทั้งสองวิธีของคุณควรทำงาน คุณยังหมายถึงอะไรโดย "ยังไม่มีโชค"? เกิดอะไรขึ้นที่ทำให้คุณพูดว่าไม่ได้ผล?
Marius

คำตอบ:


26

ลองสิ่งต่อไปนี้ในindex.phpไฟล์ของคุณ:

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

ตรวจสอบให้แน่ใจว่าได้ตรวจสอบอีกครั้งว่าคุณมี:

1. ปิดใช้งาน ระบบแคช > การจัดการแคช> เลือกทั้งหมด [กล่องกาเครื่องหมาย]> การกระทำ = ปิดใช้งาน> ส่ง

2. สร้างดัชนี ระบบทั้งหมดใหม่ > การจัดการดัชนี> เลือกทั้งหมด [กล่องกาเครื่องหมาย]> การกระทำ = ทำดัชนีข้อมูลใหม่> ส่ง

3. ปิดการใช้งาน ระบบรวบรวม > เครื่องมือ> รวบรวม> ปิดการใช้งาน

หมายเหตุ: โหมดการคอมไพล์เริ่มต้นถูกปิดใช้งาน ดังนั้นเพียงตรวจสอบว่าสถานะคอมไพเลอร์ถูกเปิดใช้งานหรือไม่

4. เปิดระบบการบันทึก > การกำหนดค่า> ขั้นสูง> ผู้พัฒนา> การตั้งค่าการบันทึก> เปิดใช้งาน => ใช่


Mage :: setIsDeveloperMode (จริง); เป็นตั๋ว ไชโย
Darth Egregious

ฉันทำสิ่งใดเมื่อเปิดใช้งาน ini_set ('display_errors', 1); งานของมัน
Saeed Darvish

9

สามสิ่งที่เป็นไปได้ในการตรวจสอบ

  1. คุณกำลังแก้ไขไฟล์index.php/ ผิด.htaccess

  2. คุณมีรหัสที่กำหนดเองอื่น ๆ ในระบบที่กำลังปิดโหมดผู้พัฒนา

  3. ความคาดหวังของคุณเกี่ยวกับสิ่งที่นักพัฒนาทำไม่ถูกต้อง (การอธิบายว่าคุณคาดหวังไม่ตรงกันอาจช่วยให้คนแก้ปัญหาของคุณได้)


ขอบคุณอลัน! 1. การแก้ไขไฟล์ Im อยู่ใน Document Root 2. ระบบเป็นการติดตั้ง Magento ใหม่เพื่อไม่ให้เกิดปัญหา 3. ฉันคาดหวังว่าจะมีข้อผิดพลาดเกิดขึ้นในหน้าต่างเบราว์เซอร์แทนที่จะเป็นหน้าว่างเปล่าสีขาวซึ่งฉันได้รับ atm ความคาดหวังของฉันจะออกไปหน่อย?
fuumind

display_errors ค่า php ini คืออะไร? บันทึกข้อผิดพลาดของเว็บเซิร์ฟเวอร์คืออะไร
อลันสตอร์ม

บันทึกข้อผิดพลาดของเว็บเซิร์ฟเวอร์คือที่ที่คุณมองหา! ขอบคุณสำหรับการชี้ให้เห็น! :) มีข้อผิดพลาดเกิดขึ้นบนหน้าเว็บที่ไม่สามารถแสดงผลหรือวีโอไอพีไม่ทำงานอย่างเงียบ ๆ ด้วยการออกแบบหรือไม่?
fuumind

1

ลองสิ่งต่อไปนี้ในไฟล์ index.php ของคุณ: Move Mage :: setIsDeveloperMode (true); จากถ้าสภาพ


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

อาจเป็นเพราะการเปลี่ยนเส้นทางเซิร์ฟเวอร์ด้วย

โปรดตรวจสอบเอาต์พุต phpinfo และตรวจสอบ$_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']ตัวแปรด้วย

คำอธิบาย:

ถ้าคุณกำลังทำงานกับโมดูล mod_rewrite Apache และต้องการที่จะตั้งค่าสภาพแวดล้อมบาง vars, คู่มือ Apache กล่าว vars เหล่านี้สามารถเข้าถึงได้ใน CGI $ENV{VAR}ใช้ ใน PHP คุณอาจต้องการเขียน$_ENV['VAR']เพื่อรับค่า VAR แต่คุณต้องเข้าถึงถ้าผ่าน$_SERVERและในวิธีต่างๆ:

  1. ตัวอย่าง: .htaccess และ example.php

RewriteEngine บน RewriteRule ^? var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]

  1. ตัวอย่าง: .htaccess และ index.php

RewriteEngine บน RewriteRule ^ index.php $ - [L] RewriteRule? var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

หมายเหตุ: หาก RewriteRule ใด ๆ ตรงกันการเปลี่ยนเส้นทางภายในกว่าการรีสตาร์ท (หลังจากกฎที่กำหนดไว้ล่าสุดหรือทันทีหลังจากกฎที่จับคู่กันที่มีแฟล็ก L) ตรวจสอบการตั้งค่ากฎทั้งหมดอีกครั้ง สำหรับการเปลี่ยนเส้นทางภายใน VAR ที่กำหนดไว้ทุกอันจะได้รับคำนำหน้า 'REDIRECT_' เช่น VAR1 จะเป็น REDIRECT_VAR1 และ VAR2 จะเป็น REDIRECT_VAR2

แน่นอนคุณสามารถ (เพิ่มเติม) กำหนด VAR ดั้งเดิมได้:

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

ด้วยวิธีนี้คุณจะมีและ$_SERVER['REDIRECT_VAR*']$_SERVER['VAR*']


ตัวอย่างที่ให้มาเป็นเพียงคำอธิบายไม่ว่าในกรณีใด ๆ พวกเขาไม่ได้มีวัตถุประสงค์เพื่อให้เหมาะกับความต้องการของคุณ "\" ในตัวอย่าง. htaccess ใช้เพื่อจุดประสงค์ในการแสดงเท่านั้นไม่ควรเกิดขึ้นในไฟล์. htaccess จริง ตัวคั่นอาร์กิวเมนต์ ';' ในลิงก์อาจเป็น '&' แต่อาจทำให้เกิดปัญหากับ HTML / XHTML ดูหน้าต่อไปนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.