Come abilitare i symlink dopo l'installazione di SUPEE-9767 V2?


10

Sembra che SUPEE-9767v2 abbia disabilitato e rimosso l'opzione in "Avanzate -> Sviluppatore -> Impostazioni modello" , che ci consentirebbe di abilitare / disabilitare i collegamenti simbolici.

Qual è l'altro modo per abilitare i collegamenti simbolici dopo l'installazione della patch V2?


Come si installa SUPEE-9767 V2, è possibile condividere i passaggi.
Gem

Risposte:


21

Al momento puoi farlo solo su DB.

1. SQL

O ...

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

O se la voce non esiste ...

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

Nota: non dimenticare di aggiungere il prefisso della tabella se ne usi uno.

2. Script

O eseguilo dalla radice di Magento ...

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

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

3. local.xml

Aggiungi un altro XML alla app/etc/directory come local.SUPEE-9767.xmlsovrascrivere local.xml.

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

4. "Modulo"

Crea una mini "estensione" con questa system.xmlper riportare l'opzione di configurazione al back-end dell'amministratore:

<?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>

Aggiungere una classe vuota per backend_modelper consentire salvare il valore di configurazione. Grazie a @colinmollenhour, invece di una classe vuota, reimposta il modello di backend su parent.

Scarica: https://github.com/sreichel/magento-StackExchange_AllowSymlink


9

Il modo più semplice è usare n98-magerun che è uno strumento di sviluppo della riga di comando molto utile per Magento

Attiva o disattiva i collegamenti simbolici per tutte le visualizzazioni dello store con

n98-magerun.phar dev:symlinks 0

Per verificare se i collegamenti simbolici sono abilitati, utilizzare

n98-magerun.phar config:dump | grep symlink

1

IN patch 9767 v2

Sotto il codice Aggiornato nel file

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>

Basta aggiornare questo campo <show_in_default>0</show_in_default>a1

e vedrai di nuovo quell'impostazione

Dopo aver ripristinato questo file


Questo non è V1? In V2 questa riga è tornata, ma <show_in_default>è impostata su 0. Per favore correggimi se sbaglio.
sv3n

@ sv3n oh Mio male sto vedendo il codice v1, dammi 2 minuti aggiornerò la mia risposta
Murtuza Zabuawala,

1
@ sv3n Ho aggiornato la risposta
Murtuza Zabuawala il

Non dovresti modificare i file core. Puoi facilmente ignorare questa impostazione in molti altri modi ...
ottobre

1
Vale la pena menzionare l'aggiunta backend_modelche impedisce di salvare questo campo su DB.
sv3n
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.