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.

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.

How to start apache How to start apache Apr 13, 2025 pm 01:06 PM

The steps to start Apache are as follows: Install Apache (command: sudo apt-get install apache2 or download it from the official website) Start Apache (Linux: sudo systemctl start apache2; Windows: Right-click the "Apache2.4" service and select "Start") Check whether it has been started (Linux: sudo systemctl status apache2; Windows: Check the status of the "Apache2.4" service in the service manager) Enable boot automatically (optional, Linux: sudo systemctl

How to delete more than server names of apache How to delete more than server names of apache Apr 13, 2025 pm 01:09 PM

To delete an extra ServerName directive from Apache, you can take the following steps: Identify and delete the extra ServerName directive. Restart Apache to make the changes take effect. Check the configuration file to verify changes. Test the server to make sure the problem is resolved.

PHP: Handling Databases and Server-Side Logic PHP: Handling Databases and Server-Side Logic Apr 15, 2025 am 12:15 AM

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

How to view your apache version How to view your apache version Apr 13, 2025 pm 01:15 PM

There are 3 ways to view the version on the Apache server: via the command line (apachectl -v or apache2ctl -v), check the server status page (http://<server IP or domain name>/server-status), or view the Apache configuration file (ServerVersion: Apache/<version number>).

See all articles