Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Php 在mac';s的默认web服务器_Php_Macos_Apache - Fatal编程技术网

Php 在mac';s的默认web服务器

Php 在mac';s的默认web服务器,php,macos,apache,Php,Macos,Apache,我正在用PHP开发一个网站,我需要在Mac上使用我的Web服务器进行测试。我安装了服务器并确保它正常工作。Localhost正在查看并提供我放入的任何内容/Library/WebServer/Documents 现在我将一个测试脚本放在CGI Executables目录中,并尝试从Documents目录中的html文件调用它。它会导致以下错误: The requested URL /CGI-Executables/SM.php was not found on this server. 文件就

我正在用
PHP
开发一个网站,我需要在Mac上使用我的Web服务器进行测试。我安装了服务器并确保它正常工作。Localhost正在查看并提供我放入的任何内容
/Library/WebServer/Documents

现在我将一个测试脚本放在
CGI Executables
目录中,并尝试从
Documents
目录中的
html
文件调用它。它会导致以下错误:

The requested URL /CGI-Executables/SM.php was not found on this server.

文件就在那里,所以我假设这是一个配置问题,环顾四周,我使用了
/etc/apache2/extra/httpd vhosts.conf
文件,但这似乎有些过分。我不需要虚拟主机,也不打算从我的开发机器上提供任何服务。我只是想发展我的网站

您应该将脚本放在/Library/WebServer/Documents/或像/cgi-bin/SM.php那样调用它们,您确定要使用cgi脚本还是只需要php就可以工作?如果是后者,那么将它们放在文档根目录中比将其用作cgi脚本更好。

cgi Executables文件夹的位置是什么?此外,我建议将名称保留为所有小写,以使事情更简单。你能访问吗?如果你想要一个简单的解决方法,你能不能不只是引用相对像.././CGI可执行文件这样的文件夹?我知道这不会解决你的配置问题though@AnshuPrateek,我的CGI可执行文件位于/Library/WebServer/CGI可执行文件中。这个名字就在那里,可能是默认的,不是我创建的。当我点击localhost/CGIExecutables/SM.php时,我得到一个“请求的URL/CGI Executables/SM.php在此服务器上找不到”错误。(文件在那里。)@jammydrodger231它不起作用。你应该将脚本放在/Library/WebServer/Documents/或像/cgi-bin/SM.phpI那样调用它们。我不认为我应该将它们放在Documents文件夹中。这些是服务器文件,应该从cgi-bin目录提供,不是吗?我尝试了您建议的名称变体,但没有找到。您想在php文件中做什么?服务器上的所有文件都是“服务器文件”。Docroot不仅仅适用于html文件。你首先需要一个html文件吗?不管怎样,看到这个了吗