Я только что установил Magento 2 Community Edition с примерами данных (загруженными с их сайта и не установленными с помощью composer) локально через MAMP. Процесс установки прошел успешно, но все файлы в папке pub / static отсутствуют, кроме .htaccess. Это означает, что все css, js и т. Д. Возвращают 404 как для внешнего, так и для внутреннего интерфейса.
Я провел несколько часов, пытаясь исправить это без удачи. Это то, что я сделал до сих пор:
- Изменено
Options Indexes FollowSymLinks AllowOverride
с «None» на «All» в /MAMP/conf/apache/httpd.conf и перезапущено MAMP - Убедился, что
LoadModule rewrite_module modules/mod_rewrite.so
не закомментирован в httpd.conf - Настройте домен разработки (magento.dev) в MAMP
- Пробовал работать
php bin/magento setup:static-content:deploy
в корне magento.dev с помощью терминала. Это однако возвращает:
Неустранимая ошибка: класс «Locale» не найден в /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php в строке 64
- Раскомментировал и изменил RewriteBase
RewriteBase /
на .htaccess-файл в корневом каталоге magento.dev. - Установите Magento в режим разработки
- Очищаем кеш вручную и
php bin/magento setup:static-content:deploy
снова запускаем
Большинство руководств и сообщений на форуме говорят мне, чтобы я запускался, php bin/magento setup:static-content:deploy
но я не уверен, правильно ли я это делаю.
ОС: OSX 10.11.2
Версия MAMP: 3.5
Версия PHP: 7.0
Версия Apache: 2.4.16
Версия MySQL: 5.6.25
Любая помощь будет оценена.
php bin/magento setup:static-content:deploy -f
и ждать 80 секунд.Ответы:
РЕШЕНИЕ № 1 (ЕСЛИ ВЫ ХОТИТЕ РЕДАКТИРОВАТЬ XML-ФАЙЛ)
Я хотел бы, чтобы вы загрузили Magento 2 zip из
magentocommerce.com/download
, создали новую базу данных в phpmyadmin , распаковали zip в папку htdocs . Установите Magento 2, но не используйте localhost, используйте 127.0.0.1 в URL магазина и URL администратора. После успешной установки НЕ запускайте magento.Теперь мы собираемся очистить / удалить кеши и сессии Magento 2. Перейдите по следующим путям и удалите все:
Когда Magento 2 не находится в рабочем режиме, он попытается создать символические ссылки для некоторых статических ресурсов на локальном сервере. Мы должны изменить это поведение Magento 2, перейдя к редактированию
ROOT > app > etc > di.xml
файла. Откройтеdi.xml
в вашем любимом редакторе кода, найдитеvirtualType name="developerMaterialization"
раздел. В этом разделе ниже вы найдете элемент,<item name="view_preprocessed" xsi:type="object">
который необходимо изменить. Вы можете изменить его, изменив следующий контент:Для того, чтобы:
Теперь последний шаг, также удалите старые файлы, созданные в
ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS
Я лично попробовал это на своем локальном хосте, используя MAMP, EasyPHP DevServer, Xampp и Wampp, и успешно установил и использовал Magento 2. Для дальнейшей проверки вы можете проверить эту ссылку: Magento 2 CSS и JavaScript не загружаются из правильной папки
РЕШЕНИЕ № 2
Установите Composer. Теперь я хотел бы, чтобы вы загрузили Magento 2 zip из
magentocommerce.com/download
, создали новую базу данных в phpmyadmin , распаковали zip в папку htdocs . Установите Magento 2, но не используйте localhost, используйте 127.0.0.1 в URL магазина и URL администратора. После успешной установки НЕ запускайте magento.Теперь мы собираемся проверить установку Composer, развернуть статический контент, очистить / очистить кеш Magento и переиндексировать блоки Magento 2. Чтобы выполнить все вышеуказанные действия, нажмите WINDOWS KEY + R, чтобы открыть диалоговое окно RUN, и введите «cmd», чтобы открыть командную строку.
Введите « cd PATH_TO_YOUR_MAGENTO2_FILES », чтобы войти в каталог Magento 2 ROOT.
Теперь, чтобы проверить установку Composer в указанном каталоге, введите « composer install ».
На этом этапе мы настраиваем статический контент для развертывания в нашем магазине Magento. Для этого введите « php bin / magento setup: static-content: deploy ».
Очистите / очистите кэш Magento, введя « php bin / magento cache: flush » в CMD.
И наконец, для Reindex Magento Static Blocks введите « php bin / magento indexer: reindex ».
Вы закончили успешную установку Magento 2.
источник
Попробуйте запустить команду ниже
И если при выполнении этой команды выдается какая-либо ошибка, например, отсутствует файл, как вы уже сказали, сравните файловую структуру вашего проекта со свежей
magento2
файловой структурой. Если какой-либо файл отсутствует в вашем проекте, скопируйте соответствующий файл в ваш проект.А если у вас возникла какая-либо другая ошибка, опубликуйте ошибку в своем вопросе, чтобы кто-то мог ответить на ваш вопрос
источник
Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64
после запускаphp bin/magento setup:static-content:deploy
в корневом каталоге.Похоже,
intl
расширение не загружено в вашу консольную версию php. Пожалуйста, убедитесь, что вы используете ту же версию / настройки для Apache и Cli версии PHP.MacOsX имеет предустановленную версию php, и некоторые пакеты, которые устанавливают php, не изменяют символическую ссылку для сеанса терминала. В результате вы можете установить разные версии php одновременно.
PS: я предлагаю использовать vagrant на Mac OS. это работает очень хорошо, если использовать NFS для обмена файлами
источник
php -v
(которая показывает, какая версия команд PHP запускается) и использовать phpinfo.php , который показывает, какую версию PHP использует веб-сервер.Если ничего не помогает, удалите эти каталоги:
Это будет работать, если у вас сломаны символические ссылки в этих каталогах.
источник
затем дать правильное разрешение на папки и файлы.
затем запустить
php bin/magento setup:static-content:deploy
из корневой папки.проверьте паб / статический.
Я надеюсь, что это поможет вам.
источник
clear page_cache, di ,view_process, cache
? Это локальная установка, так как администратор супер моего компьютера, я имею все разрешения на чтение / запись. Есть ли другие разрешения, о которых я не знаю?Вы установили
composer
и запустилиcomposer init
в каталоге magento2? Если нет, попробуйте, затем выполните командуphp bin/magento setup:static-content:deploy
источник
composer init
composer, то просит меня настроить конфигурацию composer.json, так что, думаю, это не поможет.