日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php配置问题汇总

發(fā)布時(shí)間:2023/12/4 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php配置问题汇总 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ?前兩天開始跟進(jìn)PHP;我覺得,PHP的環(huán)境配置遠(yuǎn)比其他語(yǔ)言的要復(fù)雜很多。我所說(shuō)的“其他語(yǔ)言”,包括Java,Oracle,scala,Python等。到現(xiàn)在PHP的環(huán)境被搭好,因?yàn)槭侨謩?dòng)的配置,我完完整整的花了兩天的時(shí)間。暫且記錄一下這兩天入手PHP的曲折的過(guò)程,以備不時(shí)之需。

? ?前天下午開始,我最先下載的是幾個(gè)IDE。因?yàn)槲业囊回炦壿嬍窍认翴DE,再搭語(yǔ)言環(huán)境。(不過(guò)現(xiàn)在看來(lái)似乎這種邏輯有些問題,
也有輕視了PHP的緣故,因?yàn)楹芏嗳硕颊f(shuō)PHP相當(dāng)容易。。。)。
? ?這幾個(gè)IDE是我在網(wǎng)上看了很久找到的評(píng)價(jià)較高的。當(dāng)然,是除了zend和PHPEclipse之外的。
? ?名字分別是 PHPEdit(推薦)
KomodoEdit 8、Komodo IDE、(注意:科莫多的Edit和IDE是兩碼事,IDE付費(fèi)且我用了一個(gè)下午完全不知道怎么用,不過(guò)個(gè)人覺得Komodo IDE的圖標(biāo)很好看)、SaDE(一個(gè)普通的Edit軟件,類似notepad++或VIm)、VIm、wix(我到現(xiàn)在也不知道這個(gè)是干嘛的,下載的原因是官方文檔如下圖~)

? ?首先需要注意的是,PHP下載的版本問題。我先后下過(guò)四個(gè)版本,但都不對(duì)。
挑選版本需要注意:文件夾數(shù)量(應(yīng)該只有三到四個(gè))、是否有php-cgi、php-win等三四個(gè)exe可執(zhí)行文件、是否有php5apache2_4.dll文件(此條極為重要,必須有此文件,重要性見下文)

網(wǎng)上摘的一段話:(By lixunhuanIT“下載時(shí)要注意non-thread-safe和thread-safe這兩個(gè)版本。

non-thread-safe是非安全線程主要與IIS搭配環(huán)境。

thread-safe安全線程與Apache搭配環(huán)境。

注意thread-safe版本中會(huì)有php5apache2_4.dll的動(dòng)態(tài)鏈接庫(kù),與apache搭配。

其次,就是把php.ini-production改成php.ini文件,并存到根目錄下。”

? ?請(qǐng)注意下此問題:
? ?百度上很多人都說(shuō),是改什么php.ini-dist或 php.ini.recommended。
? ?對(duì)此問題,后來(lái)我又看了視頻以及官網(wǎng),應(yīng)該是老版本~
? ?有兩個(gè)ini文件,一個(gè)是以development為擴(kuò)展名,一個(gè)以production為擴(kuò)展名。前者是開發(fā)者用,后者是商業(yè)用途。看了很多大神的文章,都說(shuō)修改商業(yè)用途,理由我也不清楚,按此做即可~

? ?然后就是修改php.ini,首先按官方api去修改,如圖:概不贅述。


? ?需要注意的是:extension_dir之后指向的路徑應(yīng)是php根目錄下的ext文件夾。如果是復(fù)制的話,需要把斜杠改成“/”,如:我的目錄是
C:\php55\ext,在粘貼到ini中時(shí),需改成C:/php55/ext。另外,我自己的測(cè)試,C這個(gè)字母的大小寫是無(wú)影響的~
? ?此行代碼的目的是加入擴(kuò)展的dll文件,比如php對(duì)mysql等等。在ini文件中若有需要可以適當(dāng)?shù)慕怄i。
網(wǎng)絡(luò)上很多人都說(shuō),需要把ini文件放到C盤windows文件夾下,但根據(jù)我的經(jīng)驗(yàn),這個(gè)野史類似.dist之類的老版本問題。

? ?完成之后,可以在dos下執(zhí)行下命令,觀察版本等信息~
? ?輸入: cd c:/php55/(我的目錄是php55)
? ?然后輸入php -v查詢版本信息


出現(xiàn)類似界面,則說(shuō)明配置成功!


? ?下一步就是最難解決的,也是成功后最有成就感的一件事,配置服務(wù)器…
注:網(wǎng)上很多人說(shuō)要先配apache,在配php,但我是正好相反,我覺得無(wú)所謂。
? ?此服務(wù)器為apache2.x,一開始我以為是tomcat,想了半天怎么還用2.x的呢。 后來(lái)明白了,兩個(gè)不是一個(gè)東西,要不怎么說(shuō)我笨呢。
? ?我用的是最新的2.4,官網(wǎng)就有下載(不是apache的download頁(yè)面
http://httpd.apache.org/download.cgi<——不是這個(gè)。請(qǐng)自行百度。 ? ?正確的版本內(nèi)應(yīng)有包括bin和conf在內(nèi)的11個(gè)左右的文件夾,并在conf文件夾中有httpd.conf文件。

? ?然后就是配置,野史最麻煩的一部分。
? ?打開httpd.conf文件(ps:我一直是用notepad++,個(gè)人覺得比vim或者什么Edit的那個(gè)好用很多)。
? ?釋放并修改以下內(nèi)容:
ServerRoot "c:/Apache24"

Listen 81PHPIniDir "c:/php55"

LoadModule php5_module c:/php55/php5apache2_4.dll

ServerAdmin chinacyzmail@163.com

DocumentRoot "c:/Apache24/htdocs"<Directory "c:/Apache24/htdocs">

ErrorLog "logs/error.log"


(網(wǎng)上有很多詳細(xì)介紹,請(qǐng)百度,重要的就以上幾個(gè)。)

然后win+R,cmd,輸入cd c:/Apache24/bin/,輸入httpd.exe -k install,輸入http.exe -k start/stop/restart,輸入后無(wú)反應(yīng),則說(shuō)明配置正確。

主要我想說(shuō)的是異常情況:
1、最開始我一直碰到的問題,提示can't load XXX\php5apache2_4.dll into server: The specified module could not be found.
? ?問題原因:PHP根目錄下無(wú)php5apache2_4.dll文件、此文件和你的php版本不匹配,也就是說(shuō),你這個(gè)文件是你自己?jiǎn)蜗碌?#xff0c;(
我就在這上頭吃了大虧)、最后的可能就是你配置沒配對(duì),見上文。
? ?解決辦法:這個(gè)dll文件千萬(wàn)不要單下,若發(fā)現(xiàn)根目錄下無(wú)此文件,只能說(shuō)明一個(gè)問題——就是你的php沒下對(duì),重新去官網(wǎng)下載吧,記住要下載有tread safe并符合你系統(tǒng)的版本。

2、“
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
? ? 問題原因:
conf/extra/httpd-vhosts.conf文件了多了一些沒有實(shí)質(zhì)的文件。
? ? 解決辦法:講這個(gè)配置文件中的所有東西都注掉~

3、
Address already in use: make_sock: could not bind to address [:]:80
? ?問題原因:你設(shè)置的apache的端口已被占用,
? ?解決辦法:似乎很簡(jiǎn)單的問題,但解決起來(lái)一點(diǎn)也不簡(jiǎn)單。百度谷歌了很久,網(wǎng)上說(shuō)法各異,但都語(yǔ)焉不詳或者風(fēng)馬牛不相及。比較靠譜的說(shuō)法是,在include文件夾中,有一個(gè)port.conf的文件,其中也有l(wèi)isten 80這個(gè)語(yǔ)句,啟動(dòng)時(shí)一起啟動(dòng),當(dāng)然會(huì)占用。但我沒找到這個(gè)文件。
我是首先在dos下查看了端口信息,果然80是被占用。

后來(lái)找到了個(gè)老外的文章:

Description:

./apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

Cause:
This problem is caused by another service listening to TCP/IP port 80.

Solution:
1. ?$ sudo fuser -k -n tcp 80

2. ?Change the listen port in the httpd config file to 81, by doing this we want to see which service is using port 80.

? ?netstat -tlnp | grep 80

3. ?Third solution is to change binging address in your httpd.conf ?like this:
Listen 127.0.0.1:80 ( that means: ?instead of ?Listen 0.0.0.0:80)

問題迎刃而解!
注意:英文不好的我解釋下,其實(shí)就一句話:把端口從80設(shè)置成81~

然后啟動(dòng)apache,出現(xiàn)此界面說(shuō)明正確:


搞定!~


轉(zhuǎn)載于:https://blog.51cto.com/chinacyz/1350034

總結(jié)

以上是生活随笔為你收集整理的php配置问题汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。