Symfony 3 / Apache - Пост-запрос дает ошибку 500 - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть Symfony 3 API, и я пытаюсь зарегистрировать пользователя, но у меня возникает ошибка 500 при выполнении запроса POST (работает запрос GET). Вероятно, это проблема моей конфигурации Apache, потому что в моих файлах журналов нет ошибок. var_dump('ok') в верхней части моей функции также дает мне ошибку 500.

Моя Apache конфигурация:

<VirtualHost *:80>
    ServerName subscription.api.local
    ServerAlias www.subscription.api.local

    DocumentRoot /var/www/subscription_backend/web
    DirectoryIndex /app.php

    <Directory /var/www/subscription_backend/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        FallbackResource /app.php
    </Directory>

    <Directory /var/www/subscription_backend>
        Options FollowSymlinks
    </Directory>

    <Directory /var/www/subscription_backend/web/bundles>
        FallbackResource disabled
    </Directory>

    ErrorLog /var/log/subscription-error.log
    CustomLog /var/log/subscription-access.log combined
</VirtualHost>

Строка добавлена ​​в мой Файл hosts:

127.0.0.1 subscription.api.local www.subscription.api.local

Мой проект находится в каталоге ~/Projects/subscription_backend, и я использую символы c до /var/www/subscription_backend:

sudo ln -s  ~/Projects/subscription_backend /var/www/subscription_backend

Разрешения "~ / Projects / subscription_backend directory": enter image description here

Разрешения "/ var / www/subscription_backend directory": lrwxrwxrwx 1 www-data www-data 55 avril 19 21:45 /var/www/subscription_backend -> /home/khan/Projects/subscription_backend/

Что не так с моей конфигурацией? Почему GET-запрос работает, но не POST?

Thx

1 Ответ

0 голосов
/ 21 апреля 2020

Наконец, я решил проблему.

Сначала исправим права доступа https://symfony.com/doc/3.3/setup/file_permissions.html:

cd ~/Projects/subscription_backend

rm -rf var/cache/*
rm -rf var/logs/*
HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data [n]ginx' | grep -v root | head -1 | cut -d\  -f1)

sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
composer install

Затем установите расширение memcache:

sudo apt-get install memcached
sudo apt-get install php-memcached
sudo apt-get install php-memcache
sudo service apache2 restart

Очистить кеш:

bin/console c:c
bin/console c:c --env=prod
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...