前两天开始跟进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(我到现在也不知道这个是干嘛的,下载的原因是官方文档如下图~)
“下载时要注意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去修改,如图:概不赘述。
需要注意的是: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查询版本信息
出现类似界面,则说明配置成功!
下一步就是最难解决的,也是成功后最有成就感的一件事,配置
服务器…
注:网上很多人说要先配apache,在配php,但我是正好相反,我觉得无所谓。
此服务器为apache2.x,一开始我以为是tomcat,想了半天怎么还用2.x的呢。 后来明白了,两个不是一个东西,要不怎么说我笨呢。
我用的是最新的2.4,官网就有下载(不是apache的download页面http://httpd.apache.org/download.cgi<——不是这个)。请自行百度。
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,出现此界面说明正确:
搞定!~