วิธีการเปิดใช้งาน symlink หลังจากติดตั้ง SUPEE-9767 V2


10

ดูเหมือนว่า SUPEE-9767v2 ได้ปิดใช้งานและลบตัวเลือกใน"ขั้นสูง -> ผู้พัฒนา -> การตั้งค่าเทมเพลต"ซึ่งจะช่วยให้เราสามารถเปิด / ปิดใช้งาน symlink ได้

วิธีอื่นในการเปิดใช้งาน symlink หลังจากการติดตั้งแพตช์ V2 คืออะไร


วิธีที่คุณติดตั้ง SUPEE-9767 V2 คุณสามารถแชร์ขั้นตอนได้ไหม
อัญมณี

คำตอบ:


21

คุณสามารถทำได้บน DB ในขณะนี้เท่านั้น

1. SQL

ทั้ง ...

UPDATE core_config_data SET value = '1' WHERE path = 'dev/template/allow_symlink';

หรือถ้าไม่มีรายการ ...

INSERT INTO core_config_data (config_id, scope, scope_id, path, value)
VALUES (NULL , 'default', '0', 'dev/template/allow_symlink', '1');

หมายเหตุ: อย่าลืมเพิ่มคำนำหน้าตารางถ้าคุณใช้

2. สคริปต์

หรือเรียกใช้จากรากวีโอไอพี ...

<?php
require_once('./app/Mage.php');
Mage::app();

Mage::getConfig()->saveConfig('dev/template/allow_symlink', '1', 'default', 0);

3. local.xml

เพิ่ม XML อื่นเพื่อapp/etc/ไดเรกทอรีเช่นการแทนที่local.SUPEE-9767.xmllocal.xml

<?xml version="1.0"?>
<config>
    <default>
        <dev>
            <template>
                <allow_symlink>1</allow_symlink>
            </template>
        </dev>
    </default>
</config>

4. "โมดูล"

สร้างมินิ "ส่วนขยาย" ด้วยสิ่งนี้system.xmlเพื่อนำตัวเลือกการกำหนดค่ากลับไปที่แบ็กเอนด์ผู้ดูแลระบบ:

<?xml version="1.0"?>
<config>
    <sections>
        <dev>
            <groups>
                <template>
                    <show_in_default>1</show_in_default>
                    <fields>
                        <allow_symlink>
                            <show_in_default>1</show_in_default>
                            <backend_model>core/config_data</backend_model>
                        </allow_symlink>
                    </fields>
                </template>
            </groups>
        </dev>
    </sections>
</config>

เพิ่มคลาสว่างสำหรับbackend_modelเพื่อเปิดใช้งานการบันทึกค่ากำหนดค่า ขอบคุณ @colinmollenhour แทนที่จะเป็นคลาสว่างเพียงแค่รีเซ็ตโมเดลแบ็คเอนด์เป็นพาเรนต์

ดาวน์โหลด: https://github.com/sreichel/magento-StackExchange_AllowSymlink


9

วิธีที่ง่ายที่สุดคือการใช้n98-magerunซึ่งเป็นเครื่องมือ dev บรรทัดคำสั่งที่มีประโยชน์มากสำหรับ Magento

สลับเปิดหรือปิด symlink สำหรับทุกมุมมองร้านค้าด้วย

n98-magerun.phar dev:symlinks 0

เพื่อตรวจสอบว่ามีการเปิดใช้งาน symlink หรือไม่

n98-magerun.phar config:dump | grep symlink

1

IN patch 9767 v2

รหัสด้านล่างอัปเดตในไฟล์

app/code/core/Mage/Core/etc/system.xml

--- app/code/core/Mage/Core/etc/system.xml
+++ app/code/core/Mage/Core/etc/system.xml
@@ -601,18 +601,19 @@
                 <label>Template Settings</label>
                 <frontend_type>text</frontend_type>
                 <sort_order>25</sort_order>
-                    <show_in_default>1</show_in_default>
-                    <show_in_website>1</show_in_website>
-                    <show_in_store>1</show_in_store>
+                    <show_in_default>0</show_in_default>
+                    <show_in_website>0</show_in_website>
+                    <show_in_store>0</show_in_store>
                 <fields>
                     <allow_symlink translate="label comment">
                         <label>Allow Symlinks</label>
                         <frontend_type>select</frontend_type>
                         <source_model>adminhtml/system_config_source_yesno</source_model>
+                            <backend_model>adminhtml/system_config_backend_symlink</backend_model>
                         <sort_order>10</sort_order>
-                            <show_in_default>1</show_in_default>
-                            <show_in_website>1</show_in_website>
-                            <show_in_store>1</show_in_store>
+                            <show_in_default>0</show_in_default>
+                            <show_in_website>0</show_in_website>
+                            <show_in_store>0</show_in_store>
                         <comment>Warning! Enabling this feature is not recommended on production environments because it represents a potential security risk.</comment>
                     </allow_symlink>
                 </fields>

เพียงอัปเดตฟิลด์นี้ <show_in_default>0</show_in_default>เป็น1

และคุณจะเห็นการตั้งค่านั้นอีกครั้ง

เมื่อคุณย้อนกลับไฟล์นี้


นี่ไม่ใช่ V1 เหรอ ใน V2 บรรทัดนี้กลับมา แต่<show_in_default>ถูกตั้งค่าเป็น 0 โปรดแก้ไขฉันหากฉันผิด
sv3n

@ sv3n โอ้ฉันไม่ดีฉันเห็นรหัส v1 ให้ฉัน 2 นาทีฉันจะอัปเดตคำตอบของฉัน
Murtuza Zabuawala

1
@ sv3n ฉันได้อัปเดตคำตอบแล้ว
Murtuza Zabuawala

คุณไม่ควรแก้ไขไฟล์หลัก คุณสามารถแทนที่การตั้งค่านี้ได้อย่างง่ายดายในหลาย ๆ วิธี ...
7ochem

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