繁体   English   中英

Localhost配置Mac Sierra

[英]Localhost configuration mac sierra

问题:自从升级到Sierra以来,我无法连接到localhost。 我以前使用过MAMP,但是升级后它停止工作,当我无法再次使mysql工作时,我决定使用apache / php / mysql设置默认的localhost,但是已经快一个星期了,我不能似乎配置正确! 在此之前,不惜一切代价,并且提供任何帮助将不胜感激。

到目前为止我做了什么

-删除了MAMP的所有实例,包括从.bash_profile中删除了它。 我的路径现在看起来像这样,

export PATH="/usr/local/mysql/bin:$PATH"

-我安装了mysql,可以通过“系统偏好设置”面板将其打开和关闭。 -我升级到php7。 所以我现在安装了php5和php7。 -我已经设置了一个username.conf(当然,我将用户名换成了我的实际用户名)

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

-我设置了虚拟主机,

<VirtualHost *:80>
DocumentRoot "/Users/username/Sites"
ServerName localhost
</VirtualHost>

-我在httpd.conf中没有评论,

LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

-在httpd-userdir.conf中未注释,

Include /private/etc/apache2/users/*.conf

在更改虚拟主机之前,我可以访问“它起作用了!”。 在浏览器中,但现在它说

本地主机拒绝连接。

我还尝试了将我的项目之一移至Documents文件夹,并且仅使用默认的“ localhost”在不使用username.conf的情况下进行处理,但是即使“ It Works!”,我也无法打开项目。 页面正在加载,非常奇怪。

httpd.conf中的DocumentRoot是/ Library / WebServer / Documents

我不想将其更改为/ Users / username / Sites(如我之前所述),因为我想使用username.conf来访问目录,例如:当我在浏览器中键入“ localhost”时,应该说“有用!” 当我键入“ localhost /〜username”时,应该显示“欢迎从您的用户目录”。 我知道这一定很简单,可能只需要做一个小改动,有人知道我在做什么错吗?

我在终端中得到什么:

httpd -v

Server version: Apache/2.4.23 (Unix)
Server built:   Aug  8 2016 16:31:34

apachectl -S

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server localhost (/private/etc/apache2/extra/httpd-vhosts.conf:24)
         port 80 namevhost localhost (/private/etc/apache2/extra/httpd-vhosts.conf:24)
         port 80 namevhost dummy-host.example.com (/private/etc/apache2/extra/httpd-vhosts.conf:29)
                 alias www.dummy-host.example.com
         port 80 namevhost dummy-host2.example.com (/private/etc/apache2/extra/httpd-vhosts.conf:38)
ServerRoot: "/usr"
Main DocumentRoot: "/Library/WebServer/Documents"
Main ErrorLog: "/private/var/log/apache2/error_log"
Mutex mpm-accept: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex proxy: using_defaults
Mutex default: dir="/private/var/run/" mechanism=default 
PidFile: "/private/var/run/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="_www" id=70 not_used
Group: name="_www" id=70 not_used

哪个PHP

/usr/bin/php

哪个mysql

/usr/local/mysql/bin/mysql

的PHP -V

PHP 5.6.25 (cli) (built: Sep  6 2016 16:37:16) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

回声$ PATH

/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

..因此您可以看到apache并未占用localhost。

我已经完成了许多后期解决方案,但似乎没有任何事情可以解决。 我还将所有内容重置为默认设置,并通过再次进行更改来查看是否错过了任何内容,但是没有运气。

我不想更改“主机”文件中的任何内容,以防万一我搞砸了一切,这是我所缺少的步骤吗?

(似乎我只能在此处发布两个链接,但是显然我已经解决了很多问题/教程!)这两个似乎可以解决问题。 Apache localhost /〜用户名/不起作用 https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/

再次感谢您的宝贵时间,我希望外面有人可以向我指出正确的方向。

如果仍然相关。 如果您只是尝试在不使用模拟工具(例如模拟其他服务器等)的情况下设置localhost,则甚至无需查看虚拟主机。 默认情况下,localhost正在监听端口80,并且几乎可以使用它,您只需要指定可以访问它的人即可,当然,不要忘了apachectl start以sudo模式apachectl start apache,我认为这很奇怪,因为要使localhost工作,您只需启动apache,它应该显示“ It works!”。 在您进入浏览器后。

在指定用户目录的位置,请注意所使用的apache的版本,因此对于Siera,您的username.conf应该如下所示。

<Directory "/Users/username/Sites/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

再次使用sudo特权执行apachectl restart 如果问题仍然存在,请运行apachectl configtest并将内容粘贴到此处的某个位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM