php+mysql+apache項目運行所遇到的一系列配置問題

來源:互聯網
上載者:User

標籤:

今天運行一個php項目時,突然發現訪問不了了。起因應該是mac系統升級,導致apache設定檔完全恢複到了預設狀態,一切歸零。作為一個經驗尚欠的前端,對這些後台配置完全是一竅不通,趕緊聯絡了小胖。最終經過小胖在遠方耐心的協助和指導下,完美解決了運行項目中所遇到的連環坑,折騰了一下午直到晚上八點多。或許對於後端來說,這完全是小菜一碟,然後對於我這個外行來說簡直是個災難。想想還是事必躬親的好,之前別人給我配伺服器環境的時候從來沒記住來龍去脈,經過今天這一番瘋狂操作和折騰,想必以後再遇到這種問題就不用去大費周章勞師動眾了。

趕緊把今天遇到的連環坑記錄下來,以防後患。

就以對話的形式展開吧。

我:小胖,為啥我的所有php項目通過localhost訪問頁面只顯示"it works"。

小胖:沒改設定檔的話,localhost只訪問預設的目錄。it works是服務開啟的預設頁。你把設定檔發給我看看。檔案名稱為httpd.conf,在/etc/apache2/下邊。

我:httpd.conf檔案

小胖:從httpd.conf檔案看來,項目入口檔案目錄應該為/Library/WebServer/Documents。DocumentRoot就是設定php項目訪問路徑,也就是說你應該把項目放在/Library/WebServer/Documents,而且Documents下要有個index.php或index.html檔案

我:可是我之前php預設項目路徑一直為/project/rorohtml5/php,怎麼發生改了?(突然意識到可能是系統升級,連伺服器設定檔也初始化了)是不是我系統升級初始化了設定檔?(一臉懵逼。。)

小胖:/Library/WebServer/Documents肯定是升級後改了吧。

我:那我把httpd.conf中的這兩個地方改成/project/rorohtml5/php是不是就ok了?其他地方不用改了?

小胖:恩恩 記得改完了重啟下伺服器。

我:好的。修改完後,sudo /usr/sbin/apachectl restart這樣重啟?

小胖:嗯嗯

我:改好了,也重啟了,但是好像還是有問題。

頁面顯示 Forbidden You donnot have permission to access / on this server

小胖:沒有許可權,檔案夾許可權。會不會是伺服器配置重寫沒開。去httpd.conf裡找到#LoadModule rewrite_module libexec/apache2/mod_rewrite.so,去掉#,再重啟伺服器。

我:去掉了,好像還是不行。

小胖:我再看看設定檔。那個

<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

index.html後邊加個空格加個index.php

我:直接把原始碼輸出出來了,沒有解析。

 小胖:AddType application/x-httpd-php .php,把這個加到設定檔中吧。

  放在AddType application/x-compress .Z  AddType application/x-gzip .gz .tg下邊

我:加在後邊了

似乎還是不行。

小胖:#LoadModule php5_module libexec/apache2/libphp5.so這個#也要去掉。有很多的模組都需要開啟。

我:去掉之後,似乎有點效果,但是還有報錯。

  1.  

小胖:你資料庫啟動了嗎?

我:mysql啟動了。

小胖: 不會php配置也要改吧,你看看etc下的php.ini檔案。

我:兩個php.ini檔案哪個是?

 

小胖:你用編輯器開啟項目的index.php檔案,加echo phpinfo();die;我看看是用的哪個php.ini檔案。

我:

小胖:看到/etc沒得,沒有載入php配置。php.ini.default這個檔案改成php.ini。通過終端進入mysql控制台,輸入STATUS;擷取UNIX socket的值,把該值賦給php.ini裡邊的pdo_mysql.default_socket、mysql.default_socket、mysqli.default_socket三個變數即可。

我:mysql -uroot -p不起作用了,切換不到控制台模式?咋回事,之前可以的。(-p後邊不需要加內容)

小胖:mysql沒有添加到環境變數中去。終端輸入export PATH=${PATH}:/usr/local/mysql/bin指令添加即可。

我:OK。擷取到了UNIX socket,三個變數也賦值了,但是仍然有報錯。

 小胖:緩衝問題。去runtime檔案夾裡的內容全部清空,然後給runtime設定許可權。在APP目錄下chmod -R 777 ./Runtime    

 我:終於可以訪問了。but,又遇到小問題了,只能訪問首頁 其他頁面報錯。真是一波剛平,一波又起啊。

小胖: 這個是重寫的問題。把這個裡邊的 AllowOverride None,none改成all 在重啟伺服器

<Directory "/project/rorohtml5/php">    #    # 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.    #    Require all granted</Directory>

 

 我:哇哦,我的天,終於好了。

付出總會有回報,上天是公平的。

 

php+mysql+apache項目運行所遇到的一系列配置問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.