我想要实现的
在开发Symfony web应用程序期间,从本地机器访问本地主机。
我的环境
我已经采取的步骤
#!/bin/sh
REMOTEIP=`cat /etc/resolv.conf | grep nameserver | sed 's/nameserver\s//'`
sed -i -E "s/client_host=[0-9\.]+/client_host=$REMOTEIP/g" /etc/php/7.4/mods-available/xdebug.ini
service php7.4-fpm start
service apache2 start
service mysql start symfony serve -d在开发服务器上运行我的Symfony项目(Symfony然后告诉我“Web服务器正在使用PHPFPM7.4.23 https://127.0.0.1:8000")我所期望的
实际发生了什么
我试过的
hostname -I找到并使用此IP替换本地主机(仍在端口8000上)。这是一个充分的解决办法来使用我的应用程序,但我无法通过MySQL工作台与我的数据库交互,不需要建立一个新的连接,因此,我可以使用本地主机的修复将是非常有帮助的!symfony serve -d,而不分别启动apache和PHP服务--尽管有时允许连接到本地主机,但有时不能工作。结论
这种行为是奇怪的,因为它有时起作用,但在其他情况下,当完全相同的步骤被执行时,它就不是了。我不知道还有什么地方可以找到答案,我似乎在网上也找不到同样的问题。请告诉我是否有任何配置文件等将有帮助。非常感谢你的帮助!)
发布于 2021-11-17 13:07:13
当它正常工作时,正如您清楚地知道的那样,WSL2的"localhost转发“功能意味着您可以使用WSL2主机的"localhost”地址访问运行在WSL2中的服务。
然而,有时该功能会出现故障。这种情况发生在以下两种情况中:
通常,最好的解决方案是禁用休眠和快速启动。但是,如果确实需要这些功能,则可以通过以下方法重置WSL本地主机功能:
wsl --shutdown根据我的经验,本地主机转发将在此之后工作。
发布于 2021-11-11 11:03:43
尝试运行命令netstat -nltp。它显示活动地址和端口。您的nginx进程应该运行在0.0.0.0:8000。0.0.0.0意味着在任何地方都可以使用nginx过程。
如果您的nginx进程由任何特定的ip地址运行,则应该通过该ip地址(例如http://192.168.4.2:8000 )访问它。
https://stackoverflow.com/questions/69926941
复制相似问题