1.Apache的下载和安装可参考我的另一篇文章:Apache下载与安装
2.PHP下载:https://windows.php.net/download/
在下载页点击Past releases可以找到所有版本的php,如果发现下载的php中没有php5apache2_4.dll或php5apache2_2.dll,则你需要下载ts版本的PHP,即文件名中不带nts标志的版本,这里我选择32位的5.6.9版本
下载完成后解压即可。
3.Apache配置:(每次配置后都可以使用httpd -t 检查语法是否正确,方便查错,并且每次都要重启Apache后配置才会生效)
找到Apache安装目录下的conf文件夹下httpd.conf,进行如下配置:
a.找到Define SRVROOT "c:/Apache24" 修改目录为你的安装目录,此处我的为Define SRVROOT "C:/Data/APM/Apache24"
b.为了可以执行PHP代码,在文件最后添加以下配置
#指定php的ini文件,该文件是对php的一些配置
LoadModule php5_module C:\Data\APM\php-5.6.9\php5apache2_4.dll
AddType application/x-httpd-php .php .html .htm
PHPIniDir C:\Data\APM\php-5.6.9
c.开启虚拟主机,去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so,LoadModule rewrite_module modules/mod_rewrite.so(不开启此模块,则无法访问除根目录外的其他子目录和文件)和Include conf/extra/httpd-vhosts.conf前的#,然后打开conf\extra下的httpd-vhosts.conf,在改文件中配置相应的虚拟主机,这里我配置了一个laravel5.2的项目
<VirtualHost *:80>
#虚拟主机根目录
DocumentRoot "C:\Data\WWW\laravel52\php\public"
#域名
ServerName laravel52
#域名的别名
ServerAlias laravel52.alias
#错误日志
ErrorLog "logs/dummy-host.example.com-error.log"
#访问日志
CustomLog "logs/dummy-host.example.com-access.log" common
<Directory "C:\Data\WWW\laravel52\php\public">
#是否列出目录结构,当请求的文件不存在时展示目录结构(开发环境)
Options FollowSymLinks ExecCGI
#设置是否开启外部配置文件,默认为None
AllowOverride All
#先检查禁止设定,没有禁止的全部允许
Order Deny,Allow
Allow from All
#设置是否允许请求进入
Require all granted
#设置默认首页
DirectoryIndex index.php index.html
</Directory>
</VirtualHost>
记得修改httpd.conf里的根目录配置,搜索Directory,找到后修改为如下
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
d.在hosts(在C:\Windows\System32\drivers\etc目录下)添加域名:127.0.0.1 laravel52
4.PHP配置:解压后的文件夹下有php的配置文件,php.ini-development(开发环境)和php.ini-production(正式环境),里面的配置项都基本一样,只是配置项的默认值有差别,随便复制一个,重命名为php.ini即可。
1.在php.ini中开启一些必要的扩展,先将extension_dir = "ext"前的分号去掉,指定扩展的路径,然后开启如下扩展(也是去分号):
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
2.设置时区,将date.timezone前的;去掉,并赋值为"Asia/Shanghai",即date.timezone = "Asia/Shanghai"
配置到这里项目基本就可以正常运行了。
3.其他的配置,如开启短标签:short_open_tag = On ,开启错误日志,display_errors = On,单次最大上传文件限制:upload_max_filesize= 2M,这些都可以在具体使用到的时候再做修改即可