Home >Backend Development >PHP Tutorial >Detailed explanation of the configuration of Apache and PHP

Detailed explanation of the configuration of Apache and PHP

韦小宝
韦小宝Original
2018-02-23 10:01:517576browse

When we configure the PHP running environment, many beginners will choose to use phpstudy as the development environment tool. Let’s talk about the apache configuration and PHP configuration in phpstudy. Without further ado, let’s take a look at this article. Article!

Apache configuration details

Configuration file: httpd.conf

1. Basic configuration

##ServerRoot "D:/Apache" Apache installationDirectory

Listen 80 The port number that the server listens to

ServerName www.xxx.com:80 The main site name (the host name of the website)

ServerAdmin xxx@qq.com Administrator’s email address

DocumentRoot "D:/WWW" The root directory of the website

2. The following is the access control for the main site directory

##Options FollowSymLinks


AllowOverride None

Order allow,deny

Allow from all

Option details:

Options: Configure those properties to be used in a specific directory. Their values ​​and meanings are as follows


ExecCGI allows CGI to be executed in this directory Script


FollowSymLinks Allows the

file system

to use symbolic links in this directory

Indexs in When the user accesses the directory, if the homepage file (such as index.html) specified by DirectoryIndex cannot be found, the file list of the directory will be returned to the user

SymLinksIfOwnerMatch When using symbolic links, only Access can only be made if the owner of the symbolic link is the same as the owner of the file


AllowOverride: Allows the village to change with the directive in the .htaccess file (the file name of .htaccess can be changed, and its file name Determined by the AccessFileName directive)

None: When set to None, the .htaccess file in the server directory is not searched by default, which can reduce server overhead.

All: All can be used in the .htaccess file Instructions

Order: Control which of the two access rules Allow or deny takes precedence during access

All: List of hosts allowed to access

Deny: List of hosts denied access

DirectoryIndex: index.html index.htm index.php Default home page file

3. Virtual site configuration

Conditions: Include httpd-vhosts.conf in http.conf

# Virtual hosts
      Include conf/extra/httpd-vhosts.conf

Configure in httpd-vhost.conf

(1) IP-based virtual host

Modify the hosts file and add 3 domain names Correspondingly

192.168.1.11 www.test1.com
192.168.1.12 www.test2.com
192.168.1.13 www.test3.com

Establish the root directory where the virtual host stores files, such as

www/test1/1.html
www/test2/2.html
www/test3/3.html

Configure the following in httpd-vhosts.conf

<VirtualHost 192.188.1.11*80>
         ServerName www.test1.com
         DocumentRoot "www/test1"
         <Directory "www/test1">
             Options Indexs FollowSysLinks
             AllowOverride None
             Order allow deny
             allow from all
             DirectoryIndex  index.html index.htm index.php
         </Directory>
</VirtualHost>
        
<VirtualHost 192.168.1.12:80>
          ServerName www.test2.com
           DocumentRoot /www/test2/
          <Directory "/www/test2">
             Options Indexes FollowSymLinks
              AllowOverride None
              Order allow,deny
              Allow From All
           </Directory>
</VirtualHost>
  
<VirtualHost 192.168.1.13:80>
        ServerName www.test3.com
        DocumentRoot /www/test3/
        <Directory "/www/test3">
         Options Indexes FollowSymLinks
         AllowOverride None
         Order allow,deny
          Allow From All
       </Directory>
</VirtualHost>

(2) Based on the host name

Set domain name mapping to the same host


192.168.1.10 www.test1.com
192.168.1.10 www.test2.com
192.168.1.10 www.test3.com

Set the root directory for storing web pages

www/test1/1.html
www/test2/2.html
www/test3/3.html

When using a domain name-based virtual host, you must specify the server’s IP address and possible access ports to allow the host to accept Request can be configured using the NameVirtualHost directive. If all IPs on the server will be used, you can use * to indicate that the IP specified in NameVirtualHost will not allow the server to listen to this IP

Then configure 017421ec4e1d87ae7f66fefe80084b1d

If you

configure a virtual host on an existing WEB server, you must also configure 017421ec4e1d87ae7f66fefe80084b1d for the existing virtual host , the contents of ServerName and DocumentRoot should be consistent with the global contents, and should be placed at the front of the configuration file as the configuration of the default host

 NameVirtualHost *:80
<VirtualHost *:80>
        ServerName www.test1.com
        DocumentRoot "www/test2"
        <Directory "www/test1">
             Options Indexs FollowSymLinks
             AllowOverride None
             Order allow,deny
             allow from all
        </Directory>
</VirtualHost>
       <VirtualHost *:80>
        ServerName www.test2.com
        DocumentRoot "www/test2"
        <Directory "www/test2">
             Options Indexs FollowSymLinks
             AllowOverride None
             Order allow,deny
             allow from all
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerName www.test3.com
        DocumentRoot "www/test3"
        <Directory "www/test3">
             Options Indexs FollowSymLinks
             AllowOverride None
             Order allow,deny
             allow from all
        </Directory>
</VirtualHost>

( 3) Based on port

修改httpd.conf
设置为 Listen 8001、Listen 8002

修改虚拟主机配置文件 httpd-vhosts.conf

<VirtualHost *:8001>
         ServerName www.test1.com
         DocumentRoot "www/test1"
     </VirtualHost>
      <VirtualHost *:8002>
         ServerName www.test2.com
         DocumentRoot "www/test2"
</VirtualHost>

PHP 配置

配置文件:php.in

1. 模块加载:

extension = php_mysql.dll

2. 修改模块的目录

extension_dir = "D:/php/ext"

也可以将 D:/php ,D:/php/ext 添加到系统环境变量中

 3. 在Apache中配置php

    更改httpd.conf

LoadModule php5_module "D:/php/php5apache2_2.dll 添加PHP模块

PHPIniDir "D:/php" 配置php.in路径

 配置AddType

AddType application/x-httpd-php .php
AddType application/x-httpd-php .txt

4. register_globals = Off 设置是否开启全局变量

若设置为On

已GET/POST提交的参数,直接可以使用变量用调用, 建议不开启

5.设置时区:date.timezone =PRC

以上就是本篇文章的所有内容,希望对你的PHP学习提供到帮助!

相关文章:

Apache和PHP的配置

The above is the detailed content of Detailed explanation of the configuration of Apache and PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn