apache+php+mysql搭建php环境
1.首先准备解压包:
zend-loader-php5.6-windows-x86_update1(nts版)、php-5.6.37-nts-Win32-VC11-x86、mysql-5.5.19-win32;
2.PHP的配置:
(1)将php.ini.development文件重命名保存为php.ini
date.timezone = Asia/Shanghai //php.ini时区的设置
(2)编辑php.ini文件,添加一段代码
[Zend.loader] zend_loader.enable=1 zend_loader.disable_licensing=1 zend_loader.obfuscation_level_support=3 zend_loader.license_path= zend_extension=”D:/webserver/php5.6.30/ext/ZendLoader.dll”
前面去“#”号:
extension=php_gd2.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll extension=php_pdo_mysql.dll extension=php_sqlite3.dll extension_dir = “ext” include_path = “.;E:/apm/php-5.6.37-nts-Win32-VC11-x86/includes” Include conf/extra/httpd-vhosts.conf /*加载httpd-vhosts.conf配置文件(规定访问网址文件路径)*/
3.apache配置:
以fcgid模式开启apache重要***
(1)修改apache的httpd.conf文件,加载添加mod_fcgid.so模块。
LoadModule fcgid_module modules/mod_fcgid.so
(2)添加httpd.conf的mod_fcgid的模块配置。(注意改路径)
<IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi .php # Where to look for the php.ini file? FcgidInitialEnv PHPRC “C:/Users/Administrator/Desktop/php+Apache+Mysql/php” # Set PHP_FCGI_MAX_REQUESTS to greater than or equal to FcgidMaxRequestsPerProcess # to prevent php-cgi process from exiting before all requests completed FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 # Maximum requests a process should handle before it is terminated FcgidMaxRequestsPerProcess 1000 # Maximum number of PHP processes FcgidMaxProcesses 15 # Number of seconds of idle time before a php-cgi process is terminated FcgidIOTimeout 120 FcgidIdleTimeout 120 #Path to php-cgi FcgidWrapper “C:/Users/Administrator/Desktop/php+Apache+Mysql/php/php-cgi.exe” .php # Define the MIME-Type for “.php” files AddType application/x-httpd-php .php </IfModule>
(3)修改httpd.conf中的,在 Options Indexes FollowSymLinks后面添加Includes ExecCGI====>
Options Indexes FollowSymLinks Includes ExecCGI
(4)重新启动apache,查看你的phpinfo()中的环境变量中是否加入了fcgid
4.添加补丁文件:
zend-loader-php5.6-windows-x86、mod_fcgid-2.3.9-2.4.x-x64,其中httpd-fcgid.conf文件中的C:/php路径全部改为自己的php路径
5.修改apache配置文件httpd.conf:
- 路径全部改为自己的路径;
- 找到ServerName localhost:80把注释去掉,端口号改为8080或者不改,就用默认的80端口(http协议默认文件传输端口),地址写localhost本地地址或者127.0.0.1
6.修改apache配置文件httpd-vhosts.conf文件(设置apache默认访问文件)
注意:在httpd.conf文件中找到
Include conf/extra/httpd-vhosts.conf,将前面的#去掉,这是将httpd-vhosts.conf文件引入,不引入的话访问本地不会跳转到自己指定的项目文件
不引入的话服务器默认访问\apache\Apache24\htdocs下的index.html文件
httpd.conf文件下的代码:
<IfModule dir_module> DirectoryIndex index.html </IfModule> <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot “C:/Users/Administrator/Desktop/php+Apache+Mysql/apache/Apache24/htdocs/php2″(项目路径) ServerName localhost(数据库服务器地址:本地地址) ServerAlias www.dummy-host.example.com ErrorLog “logs/dummy-host.example.com-error.log” CustomLog”logs/dummy-host.example.com-access.log” common <Directory “C:/Users/Administrator/Desktop/php+Apache+Mysql/apache/Apache24/htdocs/php2”> (项目路径) Options Indexes FollowSymLinks Includes ExecCGI (解析php(nts)方法,httpd.conf中有这行命令,将它复制过来粘贴在这里将原来的命令替换掉) AllowOverride None Order allow,deny Allow from all DirectoryIndex index.html(默认访问项目文件:index.html) </Directory> </VirtualHost>
7.将Apache添加为系统服务(cmd添加)
(1)在开始->命令里面输入:cmd 按回车打开我们熟悉的DOS黑窗口;
(2)用cd命令切换到原来的apache安装路径的bin目录下
(3)我们可以通过httpd这个命令添加apache的服务了,具体命令:
1.httpd -k install 通过该命令,被安装的服务名称是Apache2.2,使用的配置文件是conf\httpd.conf 2.httpd -k install -n “service name” 如果想指定服务名称,请采用该命令 3.httpd -k install -n “service name” -f “D:\conf\custom.conf” 如果想指定服务名称,并且使用定制的配置文件,请使用该命令
添加完后,可以启动、关闭或重启apache:(重启apache即可访问本地文件)
通常启动、关闭或重启apache服务可以可以使用Apache自带的Apache Service Monitor工具,另外也可以使用net start Apache2.2或net stop Apache2.2等控制台命令,当然还可以到Windows控制面板的服务里面可视化操作,httpd也有相应的解决方案:
1、httpd -k start #启动apache服务 2、httpd -k stop 或 httpd -k shutdown #停止apache服务 3、httpd -k restart #重启apahce服务
启动前,你可以通过httpd -n “service name” -t 检查配置文件的正确性
如果我们要添加错误了,还可以删除相应的服务名:
删除apache服务命令还是要采用httpd
1、httpd -k uninstall #删除默认的服务名 2、httpd -k uninstall -n “service name” #删除指定的文件名
当然,添加、运行或删除Apache的Windows服务也可以采用Windows自带的命令方式。
附:尽量用高版本的Apache,里面好多命令都写有,不用自己写了。