我是一个前端JS开发人员,我已经开始在一个项目上工作,这个项目有一个运行Yii 2框架的PHP后端。这个项目没有安装说明,所以我试着在我去的时候弄清楚它,但是来自Node.js...它相当混乱。
我下载并安装了WAMP,使用MyPHPAdmin为API创建了MySQL DB,并从转储文件中导入了数据。这样就可以看到表和数据了。现在,当我转到localhost
时,我看到WAMP正在运行。我尝试了示例Yii项目,它也在localhost/yii-test/web
下运行。
根据Yii,我将把整个API目录移动到WAMP安装的/www
目录中来提供这个API。现在如果我转到localhost/fania-api
,我会看到我的服务器的目录列表。对我来说,这意味着API可以在本地访问。
我已经将前端的.env
配置为指向localhost/fania-api
,但是当我发送任何请求时,我会得到一个CORS错误,我假设它掩盖了一些404或500错误。现在有趣的是,我得到的.env与URL http://fanintelligence.localhost
一起提供,而不是Yii提供的localhost/fania-api
。
我的问题是,这两件事是如何结合在一起的?我安装了WAMP,并在默认端口设置了MySQL DB,但我的API如何知道它在那里?我如何知道它是否是正确的端口?这两个不同的URL是如何匹配的?
此外,API不包含/web文件夹,不确定这是否是一个问题,但我也不能用php yii serve
提供它。如果这是一个Node.js服务器,我会克隆npm install
和npm run start
,它们可能会做类似build
和serve
的事情。我不敢相信相比之下,这是如此困难的设置。
任何建议或帮助都非常感谢!
编辑:当我尝试从前端访问服务器时,我得到的是:Access to fetch at 'http://localhost/fania-api/oauth2/token?accessToken=undefined' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. /fania-api/oauth2/token?accessToken=undefined:1 Failed to load resource: net::ERR_FAILED
但是我不相信这是一个实际的CORS错误,因为以前的开发人员也使用本地来测试,所以CORS策略将允许这一点。我的猜测是我指向的地址不正确或服务器实际上没有运行。
如果我尝试运行php yii serve
:Document root "C:\Users\hesel\dev\repo\eartotheground\fania-api\console/web" doe s not exist.
但错误行为的关键是无法连接到一个理应是活的本地服务器(它甚至是活的吗?我怎么知道?)。
2条答案
按热度按时间lg40wkob1#
./yii serve
composer install
,以确保安装了vendor中的所有软件包。转到config/web.php
'request' => [ 'cookieValidationKey' => 'put your random generated string', ],
通过http://localhost/basic/web/访问应用程序
mo49yndu2#
我让它工作。为主机与WAMP:
1.将整个服务器代码文件夹放置在
www/
中(在WAMP安装目录中)1.编辑
wamp64\bin\apache\apache{version}\conf\httpd.conf
:1.编辑
wamp64\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
:您的服务器现在应该在
{project name}.localhost
上运行。