Quería agregar un script php personalizado a la carpeta raíz de magento2 y ejecutarlo desde el navegador. Traté de agregarlo en la carpeta raíz de magento2 pero redirige a la página 404.
También intenté agregarlo en la carpeta pub pero no tuve éxito.
También borró el caché y la generación.
Estoy ejecutando magento2 en el servidor nginx
Respuestas:
Si está utilizando la configuración nginx que viene con magento, debe colocar un archivo dentro de la
pub
carpeta para permitir el acceso desde el navegador, ya que pub es la raíz del documento del vhost. El directorio raíz de Magento está un nivel arriba. En segundo lugar configuración por defecto para nginx permite sólo al accesoindex.php
,get.php
,static.php
,report.php
,404.php
y503.php
archivos. Cualquier otro no es procesado por el php. Puede ver esto en línea conlocation ~ (index|get|static|report|404|503)\.php$ {
nginx.conf.sample. Si no lo está utilizando, verifique su configuración para una regla similar. Para permitir que otro archivo sea accesible desde el navegador, simplemente agregue otro nombre después de 503 o cambie los corchetes completos conlocation ~* \.php$ {
fuente
Por ejemplo, para obtener el nombre del producto mediante el script personalizado
Crea
test.php
en la raíz de Magentovar/www/html/magento2/test.php
Puede ejecutar el script
test.php
porhttp://127.0.0.1/magento2/test.php
paso 1: crea index.php en la raíz de magento 2
var/www/htmlmagento2/test/index.php
paso 2: crea customScript.php
/var/www/html/magento2/test/customScript.php
Ahora puede ejecutar este script personalizado al
http://127.0.0.1/magento2/test/
fuente
./customScript.php
, puedo ver que su customScript.php está un nivel por encima de index.phpcustomScript.php
archivo está en el mismo directorio queindex.php
. Si lo incluyera desde una carpeta de un nivel superior lo haría../customScript.php
(tenga en cuenta los dos puntos)Si desea permitir que más de un script php sea ejecutable como lo necesito (import.php para el producto de importación ERP, stock.php para actualizar el inventario con mi ERP, etc.):
scripts
en la/pub
carpetamagento
vhost y agregue líneas debajo##Allow pub/srcipts/ folder to execute php custom
Con esto, ahora puede ejecutar sus scripts accediendo a ellos en:
fuente