php配置问题汇总
admin
2023-07-05 01:42:49
0
   前两天开始跟进PHP;我觉得,PHP的环境配置远比其他语言的要复杂很多。我所说的“其他语言”,包括Java,Oracle,scala,Python等。到现在PHP的环境被搭好,因为是全手动的配置,我完完整整的花了两天的时间。暂且记录一下这两天入手PHP的曲折的过程,以备不时之需。

   前天下午开始,我最先下载的是几个IDE。因为我的一贯逻辑是先下IDE,再搭语言环境。(不过现在看来似乎这种逻辑有些问题,
也有轻视了PHP的缘故,因为很多人都说PHP相当容易。。。)。
   这几个IDE是我在网上看了很久找到的评价较高的。当然,是除了zend和PHPEclipse之外的。
   名字分别是 PHPEdit(推荐)
KomodoEdit 8、Komodo IDE、(注意:科莫多的Edit和IDE是两码事,IDE付费且我用了一个下午完全不知道怎么用,不过个人觉得Komodo IDE的图标很好看)、SaDE(一个普通的Edit软件,类似notepad++或VIm)、VIm、wix(我到现在也不知道这个是干嘛的,下载的原因是官方文档如下图~)
php配置问题汇总
   首先需要注意的是,PHP下载的版本问题。我先后下过四个版本,但都不对。
挑选版本需要注意:文件夹数量(应该只有三到四个)、是否有php-cgi、php-win等三四个exe可执行文件、是否有php5apache2_4.dll文件(此条极为重要,必须有此文件,重要性见下文)

网上摘的一段话:(By lixunhuanIT“下载时要注意non-thread-safe和thread-safe这两个版本。

non-thread-safe是非安全线程主要与IIS搭配环境。

thread-safe安全线程与Apache搭配环境。

注意thread-safe版本中会有php5apache2_4.dll的动态链接库,与apache搭配。

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

   请注意下此问题:
   百度上很多人都说,是改什么php.ini-dist或 php.ini.recommended。
   对此问题,后来我又看了视频以及官网,应该是老版本~
   有两个ini文件,一个是以development为扩展名,一个以production为扩展名。前者是开发者用,后者是商业用途。看了很多大神的文章,都说修改商业用途,理由我也不清楚,按此做即可~

   然后就是修改php.ini,首先按官方api去修改,如图:概不赘述。
php配置问题汇总

   需要注意的是:extension_dir之后指向的路径应是php根目录下的ext文件夹。如果是复制的话,需要把斜杠改成“/”,如:我的目录是
C:\php55\ext,在粘贴到ini中时,需改成C:/php55/ext。另外,我自己的测试,C这个字母的大小写是无影响的~
   此行代码的目的是加入扩展的dll文件,比如php对mysql等等。在ini文件中若有需要可以适当的解锁。
网络上很多人都说,需要把ini文件放到C盘windows文件夹下,但根据我的经验,这个野史类似.dist之类的老版本问题。

   完成之后,可以在dos下执行下命令,观察版本等信息~
   输入: cd c:/php55/(我的目录是php55)
   然后输入php -v查询版本信息
php配置问题汇总

出现类似界面,则说明配置成功!


   下一步就是最难解决的,也是成功后最有成就感的一件事,配置服务器…
注:网上很多人说要先配apache,在配php,但我是正好相反,我觉得无所谓。
   此服务器为apache2.x,一开始我以为是tomcat,想了半天怎么还用2.x的呢。 后来明白了,两个不是一个东西,要不怎么说我笨呢。
   我用的是最新的2.4,官网就有下载(不是apache的download页面
http://httpd.apache.org/download.cgi<——不是这个。请自行百度。    正确的版本内应有包括bin和conf在内的11个左右的文件夹,并在conf文件夹中有httpd.conf文件。

   然后就是配置,野史最麻烦的一部分。
   打开httpd.conf文件(ps:我一直是用notepad++,个人觉得比vim或者什么Edit的那个好用很多)。
   释放并修改以下内容:
ServerRoot "c:/Apache24"

Listen 81PHPIniDir "c:/php55"

LoadModule php5_module c:/php55/php5apache2_4.dll

ServerAdmin chinacyzmail@163.com

DocumentRoot "c:/Apache24/htdocs"

ErrorLog "logs/error.log"


(网上有很多详细介绍,请百度,重要的就以上几个。)

然后win+R,cmd,输入cd c:/Apache24/bin/,输入httpd.exe -k install,输入http.exe -k start/stop/restart,输入后无反应,则说明配置正确。

主要我想说的是异常情况:
1、最开始我一直碰到的问题,提示can't load XXX\php5apache2_4.dll into server: The specified module could not be found.
   问题原因:PHP根目录下无php5apache2_4.dll文件、此文件和你的php版本不匹配,也就是说,你这个文件是你自己单下的,(
我就在这上头吃了大亏)、最后的可能就是你配置没配对,见上文。
   解决办法:这个dll文件千万不要单下,若发现根目录下无此文件,只能说明一个问题——就是你的php没下对,重新去官网下载吧,记住要下载有tread safe并符合你系统的版本。

2、“
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
    问题原因:
conf/extra/httpd-vhosts.conf文件了多了一些没有实质的文件。
    解决办法:讲这个配置文件中的所有东西都注掉~

3、
Address already in use: make_sock: could not bind to address [:]:80
   问题原因:你设置的apache的端口已被占用,
   解决办法:似乎很简单的问题,但解决起来一点也不简单。百度谷歌了很久,网上说法各异,但都语焉不详或者风马牛不相及。比较靠谱的说法是,在include文件夹中,有一个port.conf的文件,其中也有listen 80这个语句,启动时一起启动,当然会占用。但我没找到这个文件。
我是首先在dos下查看了端口信息,果然80是被占用。

后来找到了个老外的文章:

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)

问题迎刃而解!
注意:英文不好的我解释下,其实就一句话:把端口从80设置成81~

然后启动apache,出现此界面说明正确:
php配置问题汇总

搞定!~


相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...