我已经尽一切努力让我的本地主机为我的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.
#
答案 0 :(得分:0)
您说您使用的是Apache,兄弟,如果您听不到我的意思,那么您真的需要停下来学习如何首先配置apache。一个典型的apache conf看起来像这样:
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/project/public
<Directory /var/www/project/public>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeeScript assets
# <Directory /var/www/project>
# Options FollowSymlinks
# </Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
答案 1 :(得分:0)
首先,潜在的端口问题。
您似乎需要将其添加到侦听部分:
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
如果Server.app正在运行,则粘贴的内容将显示备用端口。
然后在终端中重新启动Apache:
sudo / usr / sbin / apachectl重新启动
第二,目录问题:
如果您使用的是Mojave随附的Apache服务器,请使用Finder Go->转到文件夹或终端中的ls -l查看默认的Web服务器目录是否存在:
/库/ WebServer /文档
如果是,请将目录更改为/etc/apache2/http.conf中的默认位置:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
然后在终端中重新启动Apache:
sudo / usr / sbin / apachectl重新启动
现在,在浏览器中转到localhost,如果一切正常,它会说“有效!” (假设原始index.html存在)。如果发生这种情况,请将您的php脚本移至/ Library / WebServer / Documements并确保权限正确。为此,您需要熟悉'ls -l','chmod','chown'和'chgrp'。