search
HomeBackend DevelopmentPHP TutorialMud: php5.6 source code installation and apache integration

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
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
The Continued Use of PHP: Reasons for Its EnduranceThe Continued Use of PHP: Reasons for Its EnduranceApr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

PHP and Python: Exploring Their Similarities and DifferencesPHP and Python: Exploring Their Similarities and DifferencesApr 19, 2025 am 12:21 AM

PHP and Python are both high-level programming languages ​​that are widely used in web development, data processing and automation tasks. 1.PHP is often used to build dynamic websites and content management systems, while Python is often used to build web frameworks and data science. 2.PHP uses echo to output content, Python uses print. 3. Both support object-oriented programming, but the syntax and keywords are different. 4. PHP supports weak type conversion, while Python is more stringent. 5. PHP performance optimization includes using OPcache and asynchronous programming, while Python uses cProfile and asynchronous programming.

PHP and Python: Different Paradigms ExplainedPHP and Python: Different Paradigms ExplainedApr 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: A Deep Dive into Their HistoryPHP and Python: A Deep Dive into Their HistoryApr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Choosing Between PHP and Python: A GuideChoosing Between PHP and Python: A GuideApr 18, 2025 am 12:24 AM

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP and Frameworks: Modernizing the LanguagePHP and Frameworks: Modernizing the LanguageApr 18, 2025 am 12:14 AM

PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

PHP's Impact: Web Development and BeyondPHP's Impact: Web Development and BeyondApr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

How does PHP type hinting work, including scalar types, return types, union types, and nullable types?How does PHP type hinting work, including scalar types, return types, union types, and nullable types?Apr 17, 2025 am 12:25 AM

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values ​​and handle functions that may return null values.

See all articles

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

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)