¿Cómo habilitar los enlaces simbólicos después de la instalación de SUPEE-9767 V2?

10

Parece que SUPEE-9767v2 ha deshabilitado y eliminado la opción en "Avanzado -> Desarrollador -> Configuración de plantilla" , que nos permitiría habilitar / deshabilitar enlaces simbólicos.

¿Cuál es la otra forma de habilitar los enlaces simbólicos después de la instalación del parche V2?

Icono
fuente
Cómo instalar SUPEE-9767 V2, ¿podría compartir los pasos?
Gema

Respuestas:

21

Solo puede hacerlo en DB en este momento.

1. SQL

Ya sea ...

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

O si la entrada no existe ...

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

Nota: No olvide agregar el prefijo de tabla si usa uno.

2. Guión

O ejecuta esto desde la raíz de magento ...

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

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

3. local.xml

Agregue otro XML al app/etc/directorio como local.SUPEE-9767.xmlpara anular local.xml.

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

4. "Módulo"

Cree una mini "extensión" con esto system.xmlpara devolver la opción de configuración al backend de administración:

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

Añadir una clase vacía para backend_modelque active Guardar valor de configuración. Gracias a @colinmollenhour, en lugar de una clase vacía, simplemente restablezca el modelo de backend a padre.

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

sv3n
fuente
9

La forma más simple es usar n98-magerun, que es una herramienta de desarrollo de línea de comandos muy útil para Magento

Activa o desactiva los enlaces simbólicos para todas las vistas de la tienda con

n98-magerun.phar dev:symlinks 0

Para verificar si los enlaces simbólicos están habilitados, use

n98-magerun.phar config:dump | grep symlink
paj
fuente
1

EN parche 9767 v2

Debajo del código Actualizado en el archivo

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>

Simplemente actualice este campo <show_in_default>0</show_in_default>a1

y verás esa configuración nuevamente

Una vez que haya terminado, revierta este archivo

Murtuza Zabuawala
fuente
¿No es esto V1? En V2, estas líneas están de vuelta, pero <show_in_default>se establece en 0. Corríjame si me equivoco.
sv3n
@ sv3n oh, qué mal que estoy viendo el código v1, dame 2 minutos Actualizaré mi respuesta
Murtuza Zabuawala
1
@ sv3n He actualizado la respuesta
Murtuza Zabuawala
No deberías editar archivos principales. Puede anular fácilmente esta configuración de muchas otras maneras ...
7ochem
1
Vale la pena mencionar el agregado backend_modelque evita guardar este campo en DB.
sv3n