PHP开发环境搭建(windows)

终于入坑”世界上最好的语言-PHP”,从性能和严谨度上来说,不如Java;从发展趋势来说,不如Go和Python,但是个人认为PHP是目前最适合公司发展的语言,起码2年内是这样的,作为一名技术人员,根据业务发展需要进行技术选型和自我调整,而不是根据自己的技术栈积累去选择业务方向,应该是一个基本准则,所以,果断入坑.

PHP有很多集成开发环境,比如Wamp,Appserv等.但是自己电脑上运行着java程序,tomcat,nginx,mysql等都是配置好的,而且平时也需要进行JavaEE的开发,所以没必要用集成环境.这里记录下单独配置Apche和PHP的工作日志.

Apache

下载

Apache官网下载页面

选择对应的版本和平台,比如windows平台选择Files for Microsoft Windows --> ApacheHaus,然后下载指定的包即可,现在的发开电脑一般都是64位了.

配置

定位到Apache安装目录下的conf目录,这是Apache的配置目录,比如D:\Dev\Apache24\conf,打开httpd.conf配置文件

1.配置根目录

配置Apache的安装目录的根目录,比如:

1
2
Define SRVROOT "D:/Dev/Apache24"
ServerRoot "${SRVROOT}"

如果这里不配置,那么稍后安装Apache为系统服务时,会报出如下异常信息:

Errors reported here must be corrected before the service can be started.
httpd.exe: Syntax error on line 39 of D:/Dev/Apache24/conf/httpd.conf: ServerRoot must be a valid directory

即ServerRoot必须为一个合法有效的目录

2.配置端口

搜索定位到如下内容,Apache默认端口为80,为了避免端口冲突,也可以修改为其他端口.如果使用默认的80端口,则通过http://localhost即可访问,如果使用修改后的端口,则必须加端口号,比如http://localhost:8888

1
2
#Listen 12.34.56.78:80
Listen 8888

安装服务

将Apache安装/卸载 为系统服务

1
2
3
4
//安装
D:\Dev\Apache24\bin\httpd.exe" -k install -n apache
//卸载
D:\Dev\Apache24\bin\httpd.exe" -k uninstall -n apache

异常信息

Apache 安装时出现

Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator

此时应以管理员身份运行DOS窗口,定位到C:\Windows\System32\cmd.exe,右键以管理员身份运行即可.

安装成功

1
2
3
4
C:\Windows\system32>"D:\Dev\Apache24\bin\httpd.exe" -k install -n apache
Installing the 'apache' service
The 'apache' service is successfully installed.
Testing httpd.conf....

测试Apache

打开Apche/bin目录下的ApacheMonitor.exe,可以测试启动Apache,根据是否修改Apache默认端口号,打开http://localhost(默认)或http://localhost:8888(自定义端口).

如果页面出现It workds!表示Apache启动成功.

参考链接:

https://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html

http://www.cnblogs.com/yerenyuan/p/5460336.html

PHP

下载

https://secure.php.net/downloads.php

里面有linux和windows下的安装包,目前办公电脑是windows系统,所以选择的windows包,windows安装包下载链接直达http://windows.php.net/download/

配置Apache支持PHP

  1. 打开D:\Dev\Apache24\conf\httpd.conf配置文件

定位到

1
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

在下方添加

1
2
3
LoadModule php7_module "D:/Dev/PHP7/php7apache2_4.dll"
PHPIniDir "D:/Dev/PHP7"
AddType application/x-httpd-php .php .html .htm

注意,我这里安装的是PHP7,如果是PHP5,则里面对应换成php5_module,php5apache2_4.dll等.

  1. 找到如下代码
1
2
3
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

改为

1
2
3
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
  1. 修改Apache默认的站点目录
1
2
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

修改为

1
2
DocumentRoot "D:/Code/PHP"
<Directory "D:/Code/PHP">

之后这个目录就是打开http://localhost:8888时的根目录,可以在该目录创建index.php,用于默认访问的php文件.

配置PHP

1.修改配置文件名

把PHP安装目录的D:\Dev\PHP7\php.ini-development改名为php.ini,作为PHP的配置文件。

接下来开始编辑php.ini文件

2.设置PHP扩展包的具体目录

找到

1
2
; On windows:
; extension_dir = "ext"

修改为

1
2
; On windows:
extension_dir = "D:\Dev\PHP7\ext"

3.开启相应的库功能

默认提供了大量的库,需要开启哪个,去掉前面的分号(注释)即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;extension=bz2
extension=curl
;extension=fileinfo
extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

4.设置时区

找到

1
;date.timezone =

设置

1
date.timezone = Asia/Shanghai

测试PHP

重启Apache,在站点目录下新建文件index.php,输入内容:

1
2
3
<?php
phpinfo();
?>

打开http://localhost:8888,如果显示PHP版本及配置信息,则表示配置成功.

参考:

https://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html

其他问题

开启mod_rewrite

https://www.cnblogs.com/li-mei/p/5959217.html

开启curl模块

  1. 编辑PHP配置文件php.ini,开启curl模块,;extension=php_curl.dll,将开头的分号去掉

  2. 在安装目录中,找到libeay32.dllssleay32.dll两个文件,将他们复制到 C:\windows\system32 中;

  3. 在安装目录中,打开 ext 目录,找到 php_curl.dll 文件,统一将其复制到 C:\windows\system32 中;

4 .重要: 将PHP的安装目录(比如D:\Dev\PHP7)添加到系统的Path环境变量中
重新启动 Apache。配置即可生效

坚持原创技术分享,您的支持将鼓励我继续创作!