Home Backend Development PHP Tutorial LNMP environment setup - PHP

LNMP environment setup - PHP

Jul 30, 2016 pm 01:31 PM
common install php with

1. Source code installation

1. Compile and install

<code><span>.</span>/configure  <span>--</span>prefix<span>=</span>/usr/<span>local</span>/php<span>\</span><span>--</span><span>with</span><span>-config</span><span>-file</span><span>-path</span><span>=</span>/usr/<span>local</span>/php/etc <span>--</span><span>with</span><span>-bz2</span><span>--</span><span>with</span><span>-curl</span><span>\</span><span>--</span>enable<span>-ftp</span><span>--</span>enable<span>-sockets</span><span>--</span>disable<span>-ipv6</span><span>--</span><span>with</span><span>-gd</span><span>\</span><span>--</span><span>with</span><span>-jpeg</span><span>-dir</span><span>=</span>/usr/<span>local</span><span>--</span><span>with</span><span>-png</span><span>-dir</span><span>=</span>/usr/<span>local</span><span>\</span><span>--</span><span>with</span><span>-freetype</span><span>-dir</span><span>=</span>/usr/<span>local</span><span>--</span>enable<span>-gd</span><span>-native</span><span>-ttf</span><span>\</span><span>--</span><span>with</span><span>-iconv</span><span>-dir</span><span>=</span>/usr/<span>local</span><span>--</span>enable<span>-mbstring</span><span>--</span>enable<span>-calendar</span><span>\</span><span>--</span><span>with</span><span>-gettext</span><span>--</span><span>with</span><span>-libxml</span><span>-dir</span><span>=</span>/usr/<span>local</span><span>--</span><span>with</span><span>-zlib</span><span>\</span><span>--</span><span>with</span><span>-pdo</span><span>-mysql</span><span>=</span>mysqlnd <span>--</span><span>with</span><span>-mysqli</span><span>=</span>mysqlnd <span>--</span><span>with</span><span>-mysql</span><span>=</span>mysqlnd <span>\</span><span>--</span>enable<span>-dom</span><span>--</span>enable<span>-xml</span><span>--</span>enable<span>-fpm</span><span>--</span><span>with</span><span>-libdir</span><span>=</span>lib64 <span>--</span>enable<span>-bcmath</span></code>
Copy after login
<code><span>make</span> && <span>make</span> install</code>
Copy after login

2. Error handling

[ERROR]-1

<code>checking <span>for</span> ZLIB support... <span>no</span>checking <span>if</span> the location <span>of</span> ZLIB install directory <span>is</span> defined... <span>yes</span><span>configure</span>: <span>error</span>: Cannot find libz</code>
Copy after login

[ERROR]-2

<code>checking whether <span>to</span> enable JIS<span>-mapped</span> Japanese font support <span>in</span> GD<span>...</span> no 
<span>If</span> configure fails try <span>--</span><span>with</span><span>-vpx</span><span>-dir</span><span>=<</span>DIR<span>></span>configure: error: jpeglib<span>.</span>h <span>not</span> found<span>.</span></code>
Copy after login

[Solution]

<code>wget http://www<span>.boutell</span><span>.com</span>/gd/http/gd-<span>2.0</span><span>.33</span><span>.tar</span><span>.gz</span>
tar zxvf gd-<span>2.0</span><span>.33</span><span>.tar</span><span>.gz</span>
cd gd-<span>2.0</span><span>.33</span>
./configure --prefix=/usr/local/gd2
make
make instal</code>
Copy after login

I found libjpeg on the Internet, You can use this library to implement various operations on JPG images; download: http://freeware.sgi.com/source/libjpeg/libjpeg-6b.tar.gz,
Refer to the README installation library, the general steps are as follows:

<code>./configure
Make
Make <span>install</span></code>
Copy after login

[ERROR]-3

<code><span>If</span> configure fails try <span>--</span><span>with</span><span>-xpm</span><span>-dir</span><span>=<</span>DIR<span>></span>configure: error: freetype<span>-config</span><span>not</span> found<span>.</span></code>
Copy after login

[ERROR]-4

<code>checking whether <span>to</span> enable JIS<span>-mapped</span> Japanese font support <span>in</span> GD<span>...</span> no 
configure: error: vpx_codec<span>.</span>h <span>not</span> found<span>.</span></code>
Copy after login

[Bzip2 Install]

<code>tar -xzvf bzip2-<span>1.0</span><span>.6</span><span>.tar</span><span>.gz</span></code>
Copy after login

Enter the decompressed directory: cd bzip2-1.0.6
Prepare for compilation and create the libbz2.so dynamic link library (this step is very important. Without this step when installing python, python cannot install the bz2 module):

<code>make <span>-f</span> Makefile<span>-libbz2_so</span></code>
Copy after login

Compile and install: make && make install

two , RPM installation

<code>[root@kallen ~]<span># rpm -ivh php-common-5.4.40-1.el6.remi.x86_64.rpm </span>
warning: php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID <span>00</span>f97f56: NOKEY
Preparing...                <span>########################################### [100%]</span><span>file</span> /etc/php.ini <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64
<span>file</span> /usr/lib64/php/modules/curl.so <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64
<span>file</span> /usr/lib64/php/modules/fileinfo.so <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64
<span>file</span> /usr/lib64/php/modules/json.so <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64
<span>file</span> /usr/lib64/php/modules/phar.so <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64
<span>file</span> /usr/lib64/php/modules/zip.so <span>from</span> install <span>of</span> php-common-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64 conflicts <span>with</span><span>file</span><span>from</span> package php-common-<span>5.3</span><span>.3</span>-<span>26.</span>el6.x86_64


<span>error</span>: Failed dependencies:
 libmysqlclient.so<span>.18</span>()(<span>64</span>bit) <span>is</span> needed <span>by</span> php-mysql-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64
 libmysqlclient.so<span>.18</span>(libmysqlclient_16)(<span>64</span>bit) <span>is</span> needed <span>by</span> php-mysql-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64
 libmysqlclient.so<span>.18</span>(libmysqlclient_18)(<span>64</span>bit) <span>is</span> needed <span>by</span> php-mysql-<span>5.4</span><span>.40</span>-<span>1.</span>el6.remi.x86_64</code>
Copy after login

3. YUM installation

1.PHP-5.4

php5.4 was released on May 8, 2012. Starting from php5.4.0, php has added some new features such as:

  • Traits support
  • Built-in a simple web server
  • Provides a short syntax for arrays
  • Directly access the array value of the function return value
  • Finally remove the magic method and safe mode

It is recommended to use the YUM source of Webtatic EL6 to install php5 .4. We first install the Webtatic EL6 YUM source. For the installation configuration of the YUM source, please refer to the article "Configuring the YUM Source in RHEL6";

<code>rpm -Uvh http://repo<span>.webtatic</span><span>.com</span>/yum/el6/latest<span>.rpm</span></code>
Copy after login
<code>yum <span>-y</span> install php54w php54w<span>-bcmath</span> php54w<span>-cli</span><span>\</span>
php54w<span>-common</span> php54w<span>-devel</span> php54w<span>-fpm</span> php54w<span>-gd</span><span>\</span>
php54w<span>-imap</span> php54w<span>-ldap</span> php54w<span>-mbstring</span> php54w<span>-mcrypt</span><span>\</span>
php54w<span>-mysql</span> php54w<span>-odbc</span> php54w<span>-pdo</span> php54w<span>-pear</span><span>\</span>
php54w<span>-pecl</span><span>-igbinary</span> php54w<span>-xml</span> php54w<span>-xmlrpc</span><span>\</span>
php54w<span>-opcache</span> php54w<span>-intl</span> php54w<span>-pecl</span><span>-memcache</span></code>
Copy after login

If the installation fails, it is recommended that you uninstall the previous php before installing it, use

<code> yum <span>remove</span> php php-*</code>
Copy after login

List of included php extensions:

Package Provides
php54w mod_php
php54w-bcmath
php54w-cli php-cgi, php- pcntl, php-readline
php54w-common php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php54w-dba
php54w-devel
php54w-embedded php-embedded-devel
php54w-enchant
php54w -fpm
php54w-gd
php54w-imap
php54w-interbase php_database, php-firebird
php54w-intl
php54 w-ldap
php54w-mbstring
php54w-mcrypt
php54w-mssql
php54w-mysql php-mysqli, php_database
php54w-odbc php-pdo_odbc, php_database
php54w-pdo
php54w-pgsql php-pdo_pgsql, php_database
php54w-process php-posix, php-sysvmsg, php-sysvsem, php-sysv shm
php54w-pspell
php54w-recode
php54w-snmp
php54w-soap
php54w -tidy
php54w-xml php-dom , php-domxml, php-wddx, php-xsl
php54w-xmlrpc
php54w-zts

<code>[root@kallen ~]# yum install php54w-gd.x86_64
Loaded plugins: product-id, security, subscription-manager
This system <span>is</span><span>not</span> registered <span>to</span> Red Hat Subscription Management. You can <span>use</span> subscription-manager <span>to</span><span>register</span>.
Setting up Install <span>Process</span>
Resolving Dependencies
<span>--> Running transaction check</span><span>---> Package php54w-gd.x86_64 0:5.4.41-1.w6 will be installed</span><span>--> Processing Dependency: libt1.so.5()(64bit)for package: php54w-gd-5.4.41-1.w6.x86_64</span><span>--> Finished Dependency Resolution</span>
Error: <span>Package</span>: php54w-gd-<span>5.4</span><span>.41</span>-<span>1.</span>w6.x86_64 (webtatic)
           Requires:libt1.so<span>.5</span>()(<span>64</span><span>bit</span>)
 You could try using <span>--skip-broken to work around the problem</span>
 You could try running: rpm -Va <span>--nofiles --nodigest</span></code>
Copy after login

Solution:

<code>[root<span>@kallen</span> ~]<span># rpm -ivh t1lib-5.1.2-6.el6_2.1.x86_64.rpm </span><span>warning</span>: t1lib-<span>5.1</span><span>.2</span>-<span>6.</span>el6_2<span>.1</span>.x86_64.<span>rpm</span>: Header V3 RSA/SHA1 Signature, key ID <span>c105b9de</span>: NOKEY
Preparing...                <span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span># [100%]</span><span>1</span>:t1lib                   <span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span>######</span><span># [100%]</span></code>
Copy after login

2.PHP-5.5

<code>[root<span>@kallen</span> ~]<span># yum remove php  php-bcmath php-cli php-common  php-devel php-fpm    php-gd php-imap  php-ldap php-mbstring php-mcrypt php-mysql   php-odbc   php-pdo   php-pear  php-pecl-igbinary  php-xml php-xmlrpc</span></code>
Copy after login
<code>[root<span>@kallen</span> ~]<span># yum install php55w  php55w-bcmath php55w-cli php55w-common  php55w-devel php55w-fpm    php55w-gd php55w-imap  php55w-ldap php55w-mbstring php55w-mcrypt php55w-mysql   php55w-odbc   php55w-pdo   php55w-pear  php55w-pecl-igbinary  php55w-xml php55w-xmlrpc php55w-opcache php55w-intl php55w-pecl-memcache</span></code>
Copy after login

4. Version test

1. View PHP version information

<code>kallen@kallen:~$ php <span>-v</span>
PHP <span>5.5</span><span>.9</span><span>-</span><span>1</span>ubuntu4<span>.11</span> (cli) (built: Jul  <span>2</span><span>2015</span><span>15</span>:<span>23</span>:<span>08</span>) 
Copyright (c) <span>1997</span><span>-</span><span>2014</span> The PHP <span>Group</span>
Zend Engine v2<span>.5</span><span>.0</span>, Copyright (c) <span>1998</span><span>-</span><span>2014</span> Zend Technologies
    <span>with</span> Zend OPcache v7<span>.0</span><span>.3</span>, Copyright (c) <span>1999</span><span>-</span><span>2014</span>, <span>by</span> Zend Technologies </code>
Copy after login
<code><span><span><?php</span>
    phpinfo();
<span>?></span></span></code>
Copy after login


2. View PHP installed modules

<code>kallen<span>@kallen</span><span>:~</span><span>$ </span>php -m
[<span>PHP</span><span>Modules</span>]
bcmath
bz2
calendar
<span>Core</span>
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
ldap
libxml
mbstring
mhash
mysql
mysqli
openssl
pcntl
pcre
<span>PDO</span>
pdo_mysql
pdo_pgsql
pgsql
<span>Phar</span>
posix
readline
<span>Reflection</span>
session
shmop
<span>SimpleXML</span>
soap
sockets
<span>SPL</span>
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
<span>Zend</span><span>OPcache</span>
zip
zlib

[<span>Zend</span><span>Modules</span>]
<span>Zend</span><span>OPcache</span></code>
Copy after login

3. MySQL connection test

<code><span><span><?php</span><span>$link</span>=mysql_connect(<span>'localhost'</span>,<span>'root'</span>,<span>'*'</span>);
    <span>if</span>(!<span>$link</span>)
        <span>echo</span><span>"Connection Error!"</span>;
    <span>else</span><span>echo</span><span>"Connected Successfully!"</span>
    mysql_close();
<span>?></span></span></code>
Copy after login

Still to be completed!

Copyright Statement: This article is an original article by the blogger and may not be reproduced without the blogger’s permission|Copyright ©2011-2015, Kallen Ding, All Rights Reserved.

The above introduces the LNMP environment construction-PHP chapter, including the relevant 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

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)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks 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)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles