搜索
首页后端开发php教程LNMP环境搭建——PHP篇

一、源码安装

1.编译安装

<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>
<code><span>make</span> && <span>make</span> install</code>

2.错误处理

[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>

[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>=DIR<span>></span>configure: error: jpeglib<span>.</span>h <span>not</span> found<span>.</span></span></code>

【解决办法】

<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>

在网上找到了libjpeg,可以用这个库实现JPG图片的各种操作;下载:http://freeware.sgi.com/source/libjpeg/libjpeg-6b.tar.gz,
参考README安装库,大体步骤如下:

<code>./configure
Make
Make <span>install</span></code>

[ERROR]-3

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

[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>

[Bzip2 Install]

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

进入解压后的目录:cd bzip2-1.0.6
为编译做准备,创建libbz2.so动态链接库(这一步很重要,安装python的时候如果没有这一步,python安装不上bz2模块):

<code>make <span>-f</span> Makefile<span>-libbz2_so</span></code>

编译安装: make && make install

二、RPM安装

<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>

三、YUM安装

1.PHP-5.4

php5.4于2012年5月8号发布,从php5.4.0开始php加入了一些新特色如:

  • Traits支持
  • 内置了一个简单的Web服务器
  • 提供了数组简短语法
  • 直接对函数返回值进行数组取值
  • 最终删除魔术方法及安全模式

推荐使用 Webtatic EL6的YUM源来安装php5.4,我们首先安装Webtatic EL6 YUM源,关于YUM源的安装配置请参考《在RHEL6中配置YUM源》一文;

<code>rpm -Uvh http://repo<span>.webtatic</span><span>.com</span>/yum/el6/latest<span>.rpm</span></code>
<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>

如果安装失败,建议您先卸载以前的php再进行安装,使用

<code> yum <span>remove</span> php php-*</code>

附带的php扩展列表:

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
php54w-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-sysvshm
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>

解决办法:

<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>

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>
<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>

四、版本测试

1.查看PHP版本信息

<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>
<code><span><span><?php </span>
    phpinfo();
<span>?></span></span></span></code>


2.查看PHP已安装模块

<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>

3.MySQL连接测试

<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></span></code>

未完续待!

版权声明:本文为博主原创文章,未经博主允许不得转载|Copyright ©2011-2015, Kallen Ding, All Rights Reserved.

以上就介绍了LNMP环境搭建——PHP篇,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版