【发布时间】:2019-07-15 20:29:56
【问题描述】:
我已尽一切努力让我的 localhost 为我的 php 服务器运行。没有任何效果。我已经看到 Apache 正在运行,并且它正在运行到正确的端口。
我真的很想在这里得到一些帮助!我提供尽可能多的信息。问题是我在某个时候让它工作,然后我升级到 MOJAVE,然后一切都失败了。
我的问题是当我想打开我的 index.php 时 http://localhost/index.php我明白了
ERR_CONNECTION_REFUSED
我在我的 Apache 日志文件中找到了这个:
AH00526:/private/etc/apache2/httpd.conf 的第 245 行语法错误: DocumentRoot '/Users/pontus/Sites' 不是目录,或者不是 可读
这里有更多信息
#Listen 12.34.56.78:80
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
#LoadModule session_cookie_module libexec/apache2/mod_session_cookie.so
#LoadModule session_dbd_module libexec/apache2/mod_session_dbd.so
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
#LoadModule slotmem_plain_module libexec/apache2/mod_slotmem_plain.so
#LoadModule ssl_module libexec/apache2/mod_ssl.so
#LoadModule dialup_module libexec/apache2/mod_dialup.so
#LoadModule http2_module libexec/apache2/mod_http2.so
#LoadModule lbmethod_byrequests_module libexec/apache2/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module libexec/apache2/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module libexec/apache2/mod_lbmethod_bybusyness.so
##LoadModule lbmethod_heartbeat_module libexec/apache2/mod_lbmethod_heartbeat.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
#LoadModule heartbeat_module libexec/apache2/mod_heartbeat.so
#LoadModule heartmonitor_module libexec/apache2/mod_heartmonitor.so
#LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
#LoadModule asis_module libexec/apache2/mod_asis.so
#LoadModule info_module libexec/apache2/mod_info.so
#LoadModule cgi_module libexec/apache2/mod_cgi.so
#LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
#LoadModule dav_lock_module libexec/apache2/mod_dav_lock.so
#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
#LoadModule imagemap_module libexec/apache2/mod_imagemap.so
#LoadModule actions_module libexec/apache2/mod_actions.so
#LoadModule speling_module libexec/apache2/mod_speling.so
#LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
#LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/Users/pontus/Sites"
<Directory "/Users/pontus/Sites">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options FollowSymLinks Multiviews
MultiviewsMatch Any
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
【问题讨论】:
-
不清楚你的问题是什么。你从哪里得到这个消息?在某个日志上,或者当您请求它时?据我所知,首先您的 conf 缺少 ServerName 指令以及它正在侦听的端口,仅举几例。
-
当我试图在 webbrowser 中打开文件时,我如何检查它正在监听的端口?当您说我的 conf 缺少 ServerName @Marco 时,您是什么意思
-
当你输入somedomain.com时,它与somedomain.com:80相同,所以默认端口是80。对于https,默认端口是443。
-
您发布的 Apache 错误几乎说明了一切。鉴于该错误,我严重怀疑 Apache 是否真的在端口 80 上运行和侦听。
-
/System/Library/LaunchDaemons/org.apache.httpd.plist:服务已经加载。这意味着它正在运行吗?