php 在 mac OS X Yosemite 上运行本地主机
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/26454160/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Get localhost running on mac OS X Yosemite
提问by Xaver
I have updated my OS to Yosemite and the only issue I have is that my localhost is not working anymore. Please excuse if the questions sounds dumb but I have limited knowledge about servers.
我已将操作系统更新为优胜美地,唯一的问题是我的本地主机不再工作。如果这些问题听起来很愚蠢,但我对服务器的了解有限,请原谅。
with Mavericks I was able to use localhost
and customdomain.dev
right after a system start. Also my MySQL server has been started without any actions
与小牛我能够使用localhost
和customdomain.dev
正确的系统启动之后。我的 MySQL 服务器也已经启动,没有任何操作
Now Google Chrome throws an ERR_CONNECTION_REFUSED
error when using localhost.
现在谷歌浏览器ERR_CONNECTION_REFUSED
在使用本地主机时会抛出错误。
I run
我跑
apachectl configtest
which returns
返回
httpd: Syntax error on line 58 of /private/etc/apache2/httpd.conf: Cannot load libexec/apache2/mod_authn_default.so into server: dlopen(/usr/libexec/apache2/mod_authn_default.so, 10): image not found
if I comment out this line it continues with other modules. When I comment out all modules which causes this syntax error I get
如果我注释掉这一行,它会继续使用其他模块。当我注释掉导致此语法错误的所有模块时,我得到
AH00526: Syntax error on line 131 of /private/etc/apache2/httpd.conf:
Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration
I'm using the httpd.conf
file from Mavericks (where everything worked fine)
我正在使用httpd.conf
小牛队的文件(一切正常)
I have no idea what I should do next
我不知道下一步该怎么做
回答by Stephen Farmer
Did you retain your original httpd.conf from before the upgrade? You may have to edit the modules in your httpd.conf
您是否保留了升级前的原始 httpd.conf?您可能需要编辑 httpd.conf 中的模块
I found that an Apache upgrade came along with Yosemite. Apparently there are several authentication-related changes from Apache 2.2 to 2.4. I had to run sudo apachectl configtest
repeatedly to display which modules to remove.
我发现优胜美地附带了 Apache 升级。显然,从 Apache 2.2 到 2.4,有几个与身份验证相关的更改。我不得不sudo apachectl configtest
反复运行以显示要删除的模块。
Then, I had to add some modules. My modules look like this now:
然后,我不得不添加一些模块。我的模块现在看起来像这样:
LoadModule authn_file_module libexec/apache2/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so
LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so
#LoadModule authn_default_module libexec/apache2/mod_authn_default.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache2/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so
#LoadModule authz_default_module libexec/apache2/mod_authz_default.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so
LoadModule cache_module libexec/apache2/mod_cache.so
#LoadModule disk_cache_module libexec/apache2/mod_disk_cache.so
#LoadModule mem_cache_module libexec/apache2/mod_mem_cache.so
LoadModule dbd_module libexec/apache2/mod_dbd.so
LoadModule dumpio_module libexec/apache2/mod_dumpio.so
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so
LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule filter_module libexec/apache2/mod_filter.so
LoadModule substitute_module libexec/apache2/mod_substitute.so
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so
LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
#LoadModule cern_meta_module libexec/apache2/mod_cern_meta.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
#LoadModule ident_module libexec/apache2/mod_ident.so
LoadModule usertrack_module libexec/apache2/mod_usertrack.so
#LoadModule unique_id_module libexec/apache2/mod_unique_id.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule version_module libexec/apache2/mod_version.so
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
#LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
LoadModule mime_module libexec/apache2/mod_mime.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 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 perl_module libexec/apache2/mod_perl.so
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
LoadModule access_compat_module libexec/apache2/mod_access_compat.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
You'll see that I commented out a few. There are a few new ones. The two _core_
ones, unixd_module
, and access_compat_module
are new. Don't mind the strange looking PHP module. That's from Homebrew's PHP.
你会看到我注释掉了一些。有几个新的。这两个_core_
的,unixd_module
以及access_compat_module
是新的。不要介意奇怪的 PHP 模块。这是来自 Homebrew 的 PHP。
I also had to remove the LockFile
directive in httpd-mpm.conf
. And the NameVirtualHost
directive in httpd-vhosts.conf
.
我也不得不删除LockFile
的指令httpd-mpm.conf
。和中的NameVirtualHost
指令httpd-vhosts.conf
。
I hope this helps.
我希望这有帮助。
回答by Jorgesys
Since Mac OSX 10.10 Yosemite
the Web Sharing
option located previously in Settings -> Sharing ceased to exist, now manual configuration is necessary.
由于 Mac OSX 10.10之前位于“设置”->“共享”中Yosemite
的Web Sharing
选项不复存在,现在需要手动配置。
check this link: http://ole.michelsen.dk/blog/setup-local-web-server-apache-php-osx-yosemite.html
检查此链接:http: //ole.michelsen.dk/blog/setup-local-web-server-apache-php-osx-yosemite.html
回答by GusOst
Except Stephen Farmersvery good answer. I also had to add one more module.
除了斯蒂芬·法默斯 (Stephen Farmers) 的回答非常好。我还必须再添加一个模块。
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
Otherwise apaches log was filled with messages like:
否则 apaches 日志充满了如下消息:
[proxy_balancer:emerg] [pid 25593] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
and it would not start.
它不会启动。
Works fine now.
现在工作正常。
回答by Richard Ginsberg
Adding this module seems to fix: Invalid command 'User'
添加此模块似乎可以解决:无效命令“用户”
LoadModule unixd_module modules/mod_unixd.so