apache - Symfony 3 / Apache - 发布请求给出错误 500
问题描述
我有一个 Symfony 3 API,我正在尝试注册用户,但在执行 POST 请求时出现错误 500(GET 请求有效)。这可能是我的 Apache 配置有问题,因为我的日志文件中没有任何错误。var_dump('ok')
我函数顶部的A也给了我错误 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>
在我的主机文件中添加的行:
127.0.0.1 subscription.api.local www.subscription.api.local
我的项目在~/Projects/subscription_backend
目录中,我使用符号来/var/www/subscription_backend
:
sudo ln -s ~/Projects/subscription_backend /var/www/subscription_backend
“~/Projects/subscription_backend 目录”的权限:
“/var/www/subscription_backend 目录”的权限:
lrwxrwxrwx 1 www-data www-data 55 avril 19 21:45 /var/www/subscription_backend -> /home/khan/Projects/subscription_backend/
我的配置有什么问题?为什么 GET 请求有效但 POST 无效?
谢谢
解决方案
最后,我解决了这个问题。
首先,修复权限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
推荐阅读
- amazon-web-services - 从 Stepfunction 设置 Glue 脚本变量
- sql-server - 我在存储过程的脚本 sql 中收到返回值错误
- python-3.x - 如何使用“pip”命令安装特定库
- symfony - Symfony:记录 Mailer 创建的所有邮件
- android - 窗口类型 2038 的权限被拒绝 - Android TV
- sql - 不同的条件计数以避免重叠
- outsystems - 服务中心登录不适用于外系统凭据
- r - 找出每行中具有不同 N 的一系列观测值的斜率
- mongoose - 如何使用 mongoose 创建 mongodb 视图
- node.js - 如何取消“缓慢”的承诺链