1. 云栖社区>
  2. PHP教程>
  3. 正文

win7下php环境配置(apache,php,mysql)

作者:用户 来源:互联网 时间:2017-12-01 19:42:04

mysql

win7下php环境配置(apache,php,mysql) - 摘要: 本文讲的是win7下php环境配置(apache,php,mysql), win7是64位旗舰版。 安装包: php-5.6.3-Win32-VC11-x64.zip httpd-2.4.10-win64-VC11.zip mysql-5.6.22-winx64.zip 解压到相应的路径。 1.php 复制ph

win7是64位旗舰版。

安装包:

php-5.6.3-Win32-VC11-x64.zip

httpd-2.4.10-win64-VC11.zip

mysql-5.6.22-winx64.zip

解压到相应的路径。

1.php

复制php.ini-production,并改名为php.ini,修改如下:

;隐藏PHP版本号expose_php = Off;php扩充库目录extension_dir = "D:/devsoft/apm/php-5.6.3-Win32-VC11-x64/ext";以下extension=xxx,根据需要打开相应的.我打开以下几项.extension=php_curl.dllextension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_pdo_mysql.dllextension=php_xmlrpc.dll;时区date.timezone = Asia/Shanghai;SESSION保存目录session.save_path = "D:/config_web/session_home";上传文件时使用的临时目录upload_tmp_dir = "D:/config_web/upload_home";禁用的函数,先禁用,以后用再打开.disable_functions = phpinfo,exec,passthru,popen,proc_open,shell_exec,system,assert,chroot,getcwd,scandir,unlink,delete,rmdir,rename,chgrp,chmod,chown,fopen,copy,mkdir,file,file_get_contents,fputs,fwrite,dir

 2.apache

备份原来的httpd.conf,修改如下:

#apache路径
ServerRoot "D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24"

#在LoadModule vhost_alias_module modules/mod_vhost_alias.so
#下面增加3行,增加对php模块的支持,php.ini文件位置,由php处理的文件类型(.php .html .htm)
LoadModule php5_module "D:/devsoft/apm/php-5.6.3-Win32-VC11-x64/php5apache2_4.dll"
PHPIniDir "D:/devsoft/apm/php-5.6.3-Win32-VC11-x64"
AddType application/x-httpd-php .php .html .htm

#url重写模块,我做了简单的测试
LoadModule rewrite_module modules/mod_rewrite.so

#解决httpd.exe: Could not reliably determine the server's fully qualified domain name
ServerName localhost:80
Listen 80

#web程序目录
DocumentRoot "D:/config_web/php_web_sum/php_web"
<Directory "D:/config_web/php_web_sum/php_web">
#限制用户访问文件的范围
php_admin_value open_basedir "D:/config_web/php_web_sum/php_web/;D:/config_web/log/;D:/config_web/upload_home/;D:/config_web/session_home/;D:/config_web/upload_home_tmp/"

  #Options Indexes FollowSymLinks
  #Indexes 去掉,防止从web浏览目录
  Options FollowSymLinks
</Directory>

#使Apache首先寻找php文件,增加index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

#rotatelogs按大小,时间来控制日志
ErrorLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/error_%Y%m%d.log 5M 86400 +480"

<IfModule log_config_module>

    LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/"" combined
  #此处,我修改了日期记录格式. %t => %{[%Y-%m-%d %H:%M:%S]}t
    LogFormat "%h %l %u %{[%Y-%m-%d %H:%M:%S]}t /"%r/" %>s %b" common
    
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/" %I %O" combinedio
    </IfModule>

  #使日志按5M,天为单位进行分割,同时日志文件名称改为以日期结尾.
    CustomLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/access_%Y%m%d.log 5M 86400 +480" common
    LogFormat "%h %l %u %{[%Y-%m-%d %H:%M:%S]}t %{Referer}i -> %U" referer
    CustomLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/referer_%Y%m%d.log 5M 86400 +480" referer
    LogFormat "%h %l %u %{[%Y-%m-%d %H:%M:%S]}t %{User-agent}i" agent
    CustomLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/agent_%Y%m%d.log 5M 86400 +480" agent
</IfModule>

#目录替换,这项作用还未知.
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/cgi-bin/"
</IfModule>

#目录替换
<Directory "D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

#我设置的403,404页面
ErrorDocument 404 /missing.php
ErrorDocument 403 /forbidden.php

#php_flag和php_value设置php.ini中的内容
php_flag display_startup_errors off
php_value display_errors off
php_value error_reporting 2047
php_flag log_errors on

#简单测试了下url重写
RewriteEngine on
RewriteRule ^(.*).html$ /$1.php

#隐藏apache版本号
ServerSignature Off
ServerTokens Prod

#禁止访问指定扩展名文件
<Files ~ "(.*)/.(exe|inc|log|sh|py|pyc|h|c)$">
    Order allow,deny
    Deny from all
</Files>

#指定php日志文件路径
php_value error_log D:/config_web/log/php_errors.log

#禁止访问日志
<Files "D:/config_web/log/php_errors.log">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

 3.mysql

复制my-default.ini,并重命名为my.ini,修改如下:

[mysqld]
# set basedir to your installation pathbasedir=D:/devsoft/apm/mysql-5.6.22-winx64# set datadir to the location of your data directorydatadir=D:/devsoft/apm/mysql-5.6.22-winx64/data#mysql时间数据类型的设置explicit_defaults_for_timestamp=TRUEsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#编码设置character-set-server=utf8 [mysql]
default-character-set=utf8

 

记录下配置,主要是目录,apache支持php,还有权限的配置。

发现问题请及时指出,我会及时修改。

apache启动失败,安装 vcredist_x64.exe。

apache启动失败,缺少libssh2.dll,把libssh2.dll 复制到 C:/Windows/SysWOW64 后解决。

 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备