Laravel Valet не работает — как будто отсутствует веб-сервер

Я следовал инструкциям по установке Valet, и он работал нормально первые 2 дня без каких-либо проблем. Потом из ниоткуда он перестал работать и только со временем только ухудшался. Сначала было 404 ошибки во всех проектах laravel за пределами их домашней страницы, и в итоге сайты перестали работать, как будто не работает веб-сервер.

Вот некоторые подробности о моей среде:

  • Запуск macOS Sierra, PHP 7.1, MariaDB

  • Композитор работает нормально и находится в пути

  • Valet 2.0.3 (последний на момент написания этой статьи)

  • Изменены MAMP на порты по умолчанию для освобождения портов 80 и 3306 перед первой установкой и запуском Valet

  • Pinging что-то.dev возвращает 127.0.0.1 как следует

  • Запуск чего-то в браузере не работает. D, если не работает веб-сервер.

После нескольких часов поиска, возни, удаления и переустановки всего я сейчас нахожусь в очень странной точке. Если MAMP работает на портах 80 и 3306, Valet будет что-то обслуживать .dev, хотя я все равно получу 404 за пределами домашней страницы. Как это может быть? Разве MAMP не должен быть на других портах, чтобы освободить 80 и 3306 для Valet или не работает вообще? Еще одна странная вещь — то, что some.dev вернет мой webroot, который находится на стоянке Valet, а не сайт some.dev, который находится под webroot.
Я искал высоко и низко, и я в растерянности относительно того, как я могу заставить вещи работать так, как они должны быть

4

Решение

Выполните следующие шаги, чтобы решить это:
Вы должны устранить неисправность вашего Nginx установка / настройка, так как это сервер позади Valet.

Я столкнулся с проблемой «valet not Обслуживание» с первым перезапуском, который произошел после установки камердинера.

первый проверьте, используете ли вы последнюю версию

$ brew update
$ brew upgrade (если вы используете варево)

второй Протестируйте конфигурацию nginx, могут возникнуть проблемы с разрешениями:

$ nginx -t — это возвращает пути «ошибки», которые не могут быть прочитаны. Например, вернет путь к вашему камердеру error.log или файлу conf. например:

2017/02/04 16:32:31 [emerg] 17285#0: open() "/Users/username/.valet/Log/nginx-error.log" failed (13: Permission denied)

Проверка файла: $ ls -l ~/.valet/Log/nginx-error.log

-rw-r--r-- 1 root staff 7842 Feb 4 15:54 ~/.valet/Log/nginx-error.log

Причина, по которой мой nginx не был запущен для обслуживания всех камердинеров, заключалась в том, что в моем домашнем каталоге журнал ошибок принадлежал корню. Измените права доступа для этого файла и, возможно, для других, используя команду chown (замените реальным именем пользователя):

$ sudo chown username:staff ~/.valet/Log/nginx-error.log

после изменения разрешений перезапустите nginx:
$ sudo nginx -s stop && sudo nginx

Если команда вернется
nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx.pid", потому что nginx не запущен и не имеет PID, просто запустите nginx снова, используя:
$ sudo nginx

Теперь проверьте свои сайты камердинера. (пока MAMP остановлен)
Следующий. Определите порты и настройте Valet и MAMP для работы без конфликтов.

Надеюсь, это помогло.

Замечания: Пользователь: группа, которой должен принадлежать ваш файл журнала ошибок, можно найти в nginx.conf в директиве пользователя.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector