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

Detailed explanation of the configuration of Apache and PHP

Feb 23, 2018 am 10:01 AM
apache php explain

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
Copy after login

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
Copy after login

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

www/test1/1.html
www/test2/2.html
www/test3/3.html
Copy after login
Copy after login

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>
Copy after login

(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
Copy after login

Set the root directory for storing web pages

www/test1/1.html
www/test2/2.html
www/test3/3.html
Copy after login
Copy after login

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

If you

configure a virtual host on an existing WEB server, you must also configure 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>
Copy after login

( 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>
Copy after login

PHP 配置

配置文件:php.in

1. 模块加载:

extension = php_mysql.dll
Copy after login

2. 修改模块的目录

extension_dir = "D:/php/ext"
Copy after login

也可以将 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
Copy after login

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP's Current Status: A Look at Web Development Trends PHP's Current Status: A Look at Web Development Trends Apr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

Beyond the Hype: Assessing PHP's Role Today Beyond the Hype: Assessing PHP's Role Today Apr 12, 2025 am 12:17 AM

PHP remains a powerful and widely used tool in modern programming, especially in the field of web development. 1) PHP is easy to use and seamlessly integrated with databases, and is the first choice for many developers. 2) It supports dynamic content generation and object-oriented programming, suitable for quickly creating and maintaining websites. 3) PHP's performance can be improved by caching and optimizing database queries, and its extensive community and rich ecosystem make it still important in today's technology stack.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

How to use Debian Apache logs to improve website performance How to use Debian Apache logs to improve website performance Apr 12, 2025 pm 11:36 PM

This article will explain how to improve website performance by analyzing Apache logs under the Debian system. 1. Log Analysis Basics Apache log records the detailed information of all HTTP requests, including IP address, timestamp, request URL, HTTP method and response code. In Debian systems, these logs are usually located in the /var/log/apache2/access.log and /var/log/apache2/error.log directories. Understanding the log structure is the first step in effective analysis. 2. Log analysis tool You can use a variety of tools to analyze Apache logs: Command line tools: grep, awk, sed and other command line tools.

How to check Debian OpenSSL configuration How to check Debian OpenSSL configuration Apr 12, 2025 pm 11:57 PM

This article introduces several methods to check the OpenSSL configuration of the Debian system to help you quickly grasp the security status of the system. 1. Confirm the OpenSSL version First, verify whether OpenSSL has been installed and version information. Enter the following command in the terminal: If opensslversion is not installed, the system will prompt an error. 2. View the configuration file. The main configuration file of OpenSSL is usually located in /etc/ssl/openssl.cnf. You can use a text editor (such as nano) to view: sudonano/etc/ssl/openssl.cnf This file contains important configuration information such as key, certificate path, and encryption algorithm. 3. Utilize OPE

Laravel (PHP) vs. Python: Development Environments and Ecosystems Laravel (PHP) vs. Python: Development Environments and Ecosystems Apr 12, 2025 am 12:10 AM

The comparison between Laravel and Python in the development environment and ecosystem is as follows: 1. The development environment of Laravel is simple, only PHP and Composer are required. It provides a rich range of extension packages such as LaravelForge, but the extension package maintenance may not be timely. 2. The development environment of Python is also simple, only Python and pip are required. The ecosystem is huge and covers multiple fields, but version and dependency management may be complex.

See all articles