簡體   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