Home Backend Development PHP Tutorial Mud: php5.6 source code installation and apache integration

Mud: php5.6 source code installation and apache integration

Aug 08, 2016 am 09:32 AM
apache php usr

This article is kindly sponsored by Xiu Yilin Feng, and was first published in The world of mud.

apache’s support for php is supported through apache’s mod_php5 module, which is different from nginx. nginx can parse php through a third-party fastcgi processor. For information about the integration of nginx and php, please see "Mud: php5.6 source code installation and php-fpm configuration and nginx integration".

If you compile and install php from source code, you need to specify --with-apxs2=/usr/local/apache2/bin/apxs during compilation to tell the compiler to provide parsing of php through apache's mod_php5 module.

At the same time, when making install in the last step of php installation, we will see that the dynamic link library libphp5.so is copied to the modules directory of the apache2 installation directory, and the LoadModule statement needs to be added to the httpd.conf configuration file. Dynamically load the libphp5.so module to realize Apache's support for php.

Integration of php and apache requires the following steps:

1. Install libiconv library

2. PHP source code installation

3. Configure apache to support php

4. Test php

1. Install the libiconv library

The libiconv library provides an iconv command for applications that need to convert, to convert one character encoding to another character encoding, for example, it can convert UTF8 encoding into GB18030 encoding, and vice versa.

Be sure to install the libiconv library when integrating php with apache, otherwise the system will report an error during make. The error message is as follows:

make: *** [sapi/cli/php] Error 1

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

Now start the formal installation of the libiconv library, first download the libiconv library, as follows:

wget http:// ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

Unzip the libiconv library as follows:

tar -xf libiconv-1.14.tar.gz

Install the libiconv library, first check the installation help information. As follows:

./configure --help

With the help in the above picture, we can see that the default installation path of the libiconv library is /usr/local. Now start installing the libiconv library as follows:

./configure --prefix=/usr/local

make && make install

libi After the conv library is installed , it is recommended to add the /usr/local/lib library to the /etc/ld.so.conf file, and then use /sbin/ldconfig to make it take effect. As follows:

echo "/usr/local/lib">>/etc/ld.so.conf

/sbin/ldconfig

If this step is not performed If so, execute make install when installing php, and the system will report an error. The error message is as follows:

/root/php-5.6.2/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

2. PHP source code installation

For php source code installation, please refer to the article "Mud: php5.6 source code installation and php-fpm configuration and nginx integration ". Download and compile the php command as follows:

wget http:// mirrors.sohu.com/php/php-5.6.2.tar.gz

./configure --enable-fpm --enable-mbstring --with-mysql=/usr/local/mysql --with- iconv-dir=/usr/local --with-apxs2=/usr/local/apache2/bin/apxs

Note that the function of --enable-fpm in the above command is Turn on the fastcgi function of php, that is, turn on the php-fpm function.

--with-mysql=/usr/local/mysql is to enable PHP to support mysql, and /usr/local/mysql is the installation path of the mysql database.

--enable-mbstring means enabling the mbstring module. The main function of the mbstring module is to detect and convert encodings and provide corresponding string functions for multi-byte operations. Currently, the internal encoding of PHP only supports ISO-8859-*, EUC-JP, and UTF-8. Other encoding languages ​​cannot be displayed correctly on the PHP program, so we need to enable the mbstring module.

--with-iconv-dir=/usr/local specifies the location where php stores the libiconv library.

--with-apxs2=/usr/local/apache2/bin/apxs specifies the location where php finds apache.

After compilation is completed, let’s make again. When making, we pay attention to adding the -liconv parameter. If the -liconv parameter is not added, the system will report an error during make compilation. The error message is as follows:

Generating phar.php

php-5.3.16/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

The command is as follows:

make ZEND_EXTRA_LIBS='-liconv'

We can also modify the Makefile and add -liconv to the ZEND_EXTRA_LIBS line. As follows:

vi Makefile

make install

passed In the picture above, we can clearly see that httpd is enabled in the apache configuration file php support, and also copy the libphp5.so file to the module directory of apache.

3. Configure apache to support php

After php is installed, we can modify apache’s configuration file httpd.conf to support php.

We only need to add the following two lines of code to the httpd.conf file:

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php

Note, Among them is the LoadModule php5_module modules/libphp5.so line. When we check the httpd.conf file, we will find that this line already exists. That's because it was added when installing php. Now we just need to add the AddType application/x-httpd-php .php line.

vi /usr/local/apache2/conf/httpd.conf

In addition, we also need to modify apache’s default homepage file and add index.php. The content is as follows:

echo "">/usr/local/apache2/htdocs/index.php

cat /usr/local/apache2/htdocs/index.php

四、测试php

以上修改完毕后,我们重新启动apache,使用如下命令:

/etc/init.d/httpd graceful

Note that this command can gracefully restart apache.

Open the site as follows:

Through the picture above, we can clearly see that apache already supports php.

The above has introduced the mud: php5.6 source code installation and apache integration, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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 and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

How to set the cgi directory in apache How to set the cgi directory in apache Apr 13, 2025 pm 01:18 PM

To set up a CGI directory in Apache, you need to perform the following steps: Create a CGI directory such as "cgi-bin", and grant Apache write permissions. Add the "ScriptAlias" directive block in the Apache configuration file to map the CGI directory to the "/cgi-bin" URL. Restart Apache.

PHP's Purpose: Building Dynamic Websites PHP's Purpose: Building Dynamic Websites Apr 15, 2025 am 12:18 AM

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

What to do if the apache80 port is occupied What to do if the apache80 port is occupied Apr 13, 2025 pm 01:24 PM

When the Apache 80 port is occupied, the solution is as follows: find out the process that occupies the port and close it. Check the firewall settings to make sure Apache is not blocked. If the above method does not work, please reconfigure Apache to use a different port. Restart the Apache service.

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python: Code Examples and Comparison PHP and Python: Code Examples and Comparison Apr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

See all articles