我对主机上的POST请求有问题。在我的托管服务器上,我有域。我们可以假设它是:http://example.com
有两个应用程序:Angular 6作为前端,而laravel 5.6作为后端。在public_html文件夹中,构建了角度应用程序,但在/ api子文件夹中,我放置了laravel rest API应用程序。
有一个.httaccess文件,该文件应将/ api / *请求重定向到laravel应用的public.html。看起来像:
DirectoryIndex index.html index.php
AuthType Basic
AuthName "Wstep wzbroniony"
AuthUserFile /home/Smartap/domains/smartap.usermd.net/public_html/.htpasswd
AuthGroupFile /dev/null
require valid-user
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/api/
RewriteRule (.*) /api/apeczka/public/index.php [L]
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
当我进入浏览器链接时,它可以正常工作: http://example.com api / test
我从API的其余路由中获取测试数据。但是问题是,例如当角度应用程序向API发送POST请求以登录用户时。它没有用。我得到:
{
"message": "Server Error"
}
laravel后端的。我该如何设置探针?在localhost上,一切正常,在那里,我有两个不同的服务器:localhost:4200-用于angular,localhost:8004-用于laravel。
编辑: 在服务器日志中,我发现了类似的内容:
[2018-12-01 20:18:13] production.ERROR: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) {"exception":"[object] (Doctrine\\DBAL\\Driver\\PDOException(code: 1045): SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) at /usr/home/Smartap/domains/smartap.usermd.net/public_html/api/apeczka/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50, PDOException(code: 1045): SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) at /usr/home/Smartap/domains/smartap.usermd.net/public_html/api/apeczka/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46)
[stacktrace]
非常感谢您的帮助。
最诚挚的问候。
答案 0 :(得分:0)
您的mysql设置有问题。
在这里查看并确保已正确配置连接详细信息。
https://laravel.com/docs/5.7/database
还要确保您已使用php artisan config:clear
如果经历相同的错误,请在存储/框架中创建一个名为“ down”的文件,然后再次运行。完成后,运行php artisan up
重新启动Laravel。
希望有帮助。