Heim >Backend-Entwicklung >PHP-Tutorial >Einrichtung der LNMP-Umgebung – PHP

Einrichtung der LNMP-Umgebung – PHP

WBOY
WBOYOriginal
2016-07-30 13:31:39911Durchsuche

1. Quellcode-Installation

1. Kompilieren und installieren

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

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

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

[Lösung]

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

Ich habe libjpeg im Internet gefunden. Mit dieser Bibliothek können Sie verschiedene Vorgänge ausführen auf JPG-Bildern. ; Download: http://freeware.sgi.com/source/libjpeg/libjpeg-6b.tar.gz,
Weitere Informationen finden Sie in der README-Installationsbibliothek. Die allgemeinen Schritte lauten wie folgt:

<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>=<</span>DIR<span>></span>configure: error: freetype<span>-config</span><span>not</span> found<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>

Geben Sie das dekomprimierte Verzeichnis ein: cd bzip2-1.0.6
Bereiten Sie die Kompilierung vor und erstellen Sie die dynamische Linkbibliothek libbz2.so (dieser Schritt ist sehr wichtig. Ohne diesen Schritt bei der Installation von Python kann Python das bz2-Modul nicht installieren):

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

Kompilieren und installieren: make && make install

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

3. YUM-Installation

1.PHP-5.4

php5.4 im Mai 2012 veröffentlicht Am 8. März hat PHP ab PHP 5.4.0 einige neue Funktionen hinzugefügt, z. B.:

  • Traits-Unterstützung
  • Eingebauter einfacher Webserver
  • bereitgestellt Array-Kurzsyntax
  • Greifen Sie direkt über den Funktionsrückgabewert auf den Array-Wert zu
  • Löschen Sie abschließend die magische Methode und den abgesicherten Modus

Es wird empfohlen, sie zu verwenden die YUM-Quelle von Webtatic EL6 Um php5.4 zu installieren, installieren wir zunächst die Webtatic EL6 YUM-Quelle. Informationen zur Installationskonfiguration der YUM-Quelle finden Sie im Artikel „Konfigurieren der YUM-Quelle in RHEL6“;

<code>rpm -Uvh http://repo<span>.webtatic</span><span>.com</span>/yum/el6/latest<span>.rpm</span></code>
Wenn die Installation fehlschlägt, wird empfohlen, zuerst das vorherige PHP zu deinstallieren und es dann zu installieren. Verwenden Sie die in
<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>

enthaltene PHP-Erweiterungsliste:
<code> yum <span>remove</span> php php-*</code>

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

Lösung:
<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>

2.PHP-5.5
<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>

<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>
4. Versionstest
<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 Versionsinformationen

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


2. Installierte PHP-Module anzeigen

3. MySQL-Verbindungstest
<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>

<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>
Noch nicht abgeschlossen!

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden|Urheberrecht ©2011-2015, Kallen Ding, Alle Rechte vorbehalten.

Das Obige stellt das Kapitel zum Aufbau der LNMP-Umgebung und PHP vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn