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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 22:54:55  来源:igfitidea点击:

Get localhost running on mac OS X Yosemite

phpmysqlapacheosx-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 localhostand customdomain.devright after a system start. Also my MySQL server has been started without any actions

与小牛我能够使用localhostcustomdomain.dev正确的系统启动之后。我的 MySQL 服务器也已经启动,没有任何操作

Now Google Chrome throws an ERR_CONNECTION_REFUSEDerror 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.conffile 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 configtestrepeatedly 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_moduleare 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 LockFiledirective in httpd-mpm.conf. And the NameVirtualHostdirective in httpd-vhosts.conf.

我也不得不删除LockFile的指令httpd-mpm.conf。和中的NameVirtualHost指令httpd-vhosts.conf

I hope this helps.

我希望这有帮助。

回答by Jorgesys

Since Mac OSX 10.10 Yosemitethe Web Sharingoption located previously in Settings -> Sharing ceased to exist, now manual configuration is necessary.

由于 Mac OSX 10.10之前位于“设置”->“共享”中YosemiteWeb 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.

现在工作正常。

Link to Apaches bugzilla report of this

链接到 Apaches bugzilla 报告

回答by Richard Ginsberg

Adding this module seems to fix: Invalid command 'User'

添加此模块似乎可以解决:无效命令“用户”

LoadModule unixd_module modules/mod_unixd.so