Я хотел добавить собственный скрипт php в корневую папку magento2 и запустить из браузера. Я пытался добавить его в корневую папку magento2, но он перенаправляет на страницу 404.
Я также попытался добавить его в папку pub, но безуспешно.
Также очищен кеш и генерация.
Я использую magento2 на сервере nginx
Ответы:
Если вы используете конфигурацию nginx, поставляемую с magento, вам нужно поместить файл в
pub
папку, чтобы разрешить доступ к нему из браузера, так как pub является корнем документа vhost. Magento root dir на один уровень выше. Во - вторых конфигурации по умолчанию для Nginx позволяет только доступindex.php
,get.php
,static.php
,report.php
,404.php
и503.php
файлов. Все остальные не обрабатываются php. Вы можете увидеть это в соответствии сlocation ~ (index|get|static|report|404|503)\.php$ {
nginx.conf.sample. Если вы не используете его, проверьте ваш конфиг на аналогичное правило. Чтобы разрешить доступ к другому файлу из браузера, просто добавьте другое имя после 503 или измените целые скобки наlocation ~* \.php$ {
источник
Например, чтобы получить название продукта с помощью пользовательского скрипта
Создать
test.php
в корне Magentovar/www/html/magento2/test.php
Вы можете запустить скрипт
test.php
поhttp://127.0.0.1/magento2/test.php
Шаг 1: создайте index.php в корне magento 2
var/www/htmlmagento2/test/index.php
шаг 2: создайте customScript.php
/var/www/html/magento2/test/customScript.php
Теперь вы можете запустить этот пользовательский скрипт
http://127.0.0.1/magento2/test/
источник
./customScript.php
я вижу, что ваш customScript.php на один уровень выше index.phpcustomScript.php
файл находится в том же каталоге, что иindex.php
. Если бы я включал его из папки на один уровень выше, я бы сделал../customScript.php
(обратите внимание на две точки)Если вы хотите разрешить выполнение более чем одного сценария php так, как мне нужно (import.php для продукта импорта ERP, stock.php для обновления инвентаря с помощью моего ERP и т. Д.):
scripts
в/pub
папкеmagento
vhost и добавьте строки под##Allow pub/srcipts/ folder to execute php custom
Теперь вы можете запускать свои скрипты, обращаясь к ним по адресу:
источник