Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 在MAMP本地主机上配置socket.io_Apache_Sockets_Socket.io_Mamp - Fatal编程技术网

Apache 在MAMP本地主机上配置socket.io

Apache 在MAMP本地主机上配置socket.io,apache,sockets,socket.io,mamp,Apache,Sockets,Socket.io,Mamp,我正在尝试为正在构建的Web应用程序配置socket.io 我已经成功地用npm安装了依赖项 这是在服务器端执行的index.js。 (我的所有公用文件夹,包括index.html,都位于httpdocs文件夹中) 当我去的时候,我可以看到“你好,世界!”在浏览器中,当我转到它时,它会显示socket.io.js文件,这样看起来工作正常 在客户端,我似乎无法使用index.html中的以下行导入socket.io.js <script src="/socket.io/socket.io.j

我正在尝试为正在构建的Web应用程序配置socket.io

我已经成功地用npm安装了依赖项

这是在服务器端执行的index.js。 (我的所有公用文件夹,包括index.html,都位于httpdocs文件夹中)

当我去的时候,我可以看到“你好,世界!”在浏览器中,当我转到它时,它会显示socket.io.js文件,这样看起来工作正常

在客户端,我似乎无法使用index.html中的以下行导入socket.io.js

<script src="/socket.io/socket.io.js"></script>

它只是重定向到404页面并删除语法错误

我认为这是因为我的MAMP在客户端为Apache服务器使用端口80。该项目作为虚拟主机运行

<VirtualHost *:80>
    ServerAdmin *my email*
    DocumentRoot "*document root*/httpdocs/"
    ServerName project.local
    ServerAlias *.project.local
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

服务器管理员*我的电子邮件*
DocumentRoot“*文档根*/httpdocs/”
ServerName project.local
ServerAlias*.project.local
ErrorLog“logs/dummy host.example.com-error\u log”
CustomLog“logs/dummy host.example.com-access_log”通用

将侦听器端口从8080更改为80并不能解决该问题。我想我必须为bouth使用两个不同的端口。

我也在尝试这样做,据我所知,您必须使用正式的Apache客户端(我在Mac上找不到,我也使用它),或者使用VirtualHost指令,但据我所知,您不能在MAMP WebStart页面上这样做。也许可以尝试使用另一个服务器客户端


(注意:如果我找到Mac官方Apache客户端,我将编辑此问题以添加底部的链接。)

奇怪的是
http://localhost:8080/socket.io/socket.io.js
将向您显示JS文件,但网页中的
不起作用。唯一可能的方法是,如果包含此脚本标记的网页不是来自
http://localhost:8080
。放置脚本标记的网页的URL是什么?如果在同一台主机上有两个服务器进程,它们必须在不同的端口上侦听。我使用的网页是“project.local”,MAMP通过虚拟主机处理URL。当我转到或在浏览器中看到我的站点时,socket.io导入失败。当我浏览到时,我看到de index.js删除了“Hello World”消息欢迎使用堆栈溢出!这应该是一个评论,而不是回答。再重复一点,@IKavanagh哦,我刚意识到我点击了答案。很抱歉,谢谢:)
<VirtualHost *:80>
    ServerAdmin *my email*
    DocumentRoot "*document root*/httpdocs/"
    ServerName project.local
    ServerAlias *.project.local
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>