


PHP-Kompilierung und -Installation Detaillierte Erläuterung der einzelnen Konfigurationen der PHP-Kompilierungsparameter
Dieser Artikel stellt die Kompilierung und Installation von PHP sowie die detaillierte Konfiguration jedes Kompilierungsparameters von PHP vor. Jetzt teile ich ihn mit Ihnen und kann auch als Referenz für Freunde verwendet werden, die Hilfe benötigen.
Grundlegende Schritte für die PHP-Kompilierung und -Installation
//首先要下载一个php的安装包,例如:php-5.6.25.tar.gz,tar zxvf php-5.6.25.tar.gz // 解压php安装包,得到一个php-5.6.25的文件夹cd php-5.6.25 ./configure //对php的安装进行配置,后面要加配置选项# make && make install //编译安装完成之后,需要从解压后的文件夹中把php.ini-development //或是 php.ini-production 重命名成php.ini 复制到php安装文件中的相应位置,//可在phpinfo中查看 相应位置.// 把/usr/local/php/etc/php-fpm.conf.default 复制到当前文件夹下,保存未php-fpm.conf
Das Obige ist PHP Kompilierung und Installation Der grundlegende Prozess der PHP-Konfigurationsparameter wird im Folgenden ausführlich vorgestellt.
Parameter, die nur für die CGI-Installation verwendet werden:--prefix=/usr/local/php //指定 php 安装目录 --with-apxs2=/usr/local/apache/bin/apxs //整合apache, //apxs功能是使用mod_so中的LoadModule指令, //加载指定模块到 apache,要求 apache 要打开SO模块--with-config-file-path=/usr/local/php/etc //指定php.ini位置--with-MySQL=/usr/local/mysql //mysql安装目录,对mysql的支持--with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务, //而且还可以使访问数据库工作变得更加稳定。--enable-safe-mode //打开安全模式 --enable-ftp //打开ftp的支持 --enable-zip //打开对zip的支持 --with-bz2 //打开对bz2文件的支持 --with-jpeg-dir //打开对jpeg图片的支持 --with-png-dir //打开对png图片的支持 --with-freetype-dir //打开对freetype字体库的支持 --without-iconv //关闭iconv函数,各种字符集间的转换 --with-libXML-dir //打开libxml2库的支持 --with-XMLrpc //打开xml-rpc的c语言 --with-zlib-dir //打开zlib库的支持 --with-gd //打开gd库的支持 --enable-gd-native-ttf //支持TrueType字符串函数库 --with-curl //打开curl浏览工具的支持 --with-curlwrappers //运用curl工具打开url流 --with-ttf //打开freetype1.*的支持,可以不加了 --with-xsl //打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件 --with-gettext //打开gnu 的gettext 支持,编码库用到 --with-pear //打开pear命令的支持,PHP扩展用的 --enable-calendar //打开日历扩展功能 --enable-mbstring //多字节,字符串的支持 --enable-bcmath //打开图片大小调整,用到zabbix监控的时候用到了这个模块--enable-sockets //打开 sockets 支持--enable-exif //图片的元数据支持 --enable-magic-quotes //魔术引用的支持 --disable-rpath //关闭额外的运行库文件 --disable-debug //关闭调试模式 --with-mime-magic=/usr/share/file/magic.mime //魔术头文件位置
--enable-fpm //打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序--enable-fastCGI //支持fastcgi方式启动PHP--enable-force-CGI-redirect //重定向方式启动PHP--with-ncurses //支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库--enable-pcntl //freeTDS需要用到的,可能是链接mssql 才用到--with-mcrypt //mcrypt算法的扩展--with-mhash //mhash算法的扩展//以上函数库需要安装--with-gmp //应该是支持一种规范--enable-inline-optimization //优化线程--with-openssl //openssl的支持,加密传输时用到的--enable-dbase //建立DBA 作为共享模块--with-pcre-dir=/usr/local/bin/pcre-config //perl的正则库案安装位置--disable-dmalloc --with-gdbm //dba的gdbm支持--enable-sigchild --enable-sysvsem --enable-sysvshm --enable-zend-multibyte //支持zend的多字节--enable-mbregex --enable-wddx --enable-shmop --enable-soap
- Mysql muss nach dem Kompilieren der MySQL-Entwicklungsbibliothek den Pfad zu MySQL nicht angeben.
- --enable-magic-quotes ist ein äußerst nicht empfohlener Parameter. Wenn Sie PHP benötigen, um die zugrunde liegende Arbeit für Sie zu erledigen, ist es natürlich nicht sehr gründlich Probleme.
- --with-openssl, erfordert die OpenSSL-Bibliothek. mysqli ist der vom MySQL-Team bereitgestellte MySQL-Treiber und verfügt über viele praktische Funktionen und typische Merkmale. Allerdings ist es nicht die beste Wahl für MySQL auf der PHP-Plattform. PDO hat sich als einfache, hochparallele und leicht zu erstellende und wiederzuverwendende Standardschnittstelle erwiesen. Bei PDO kam es jedoch auch vor 5.3 zu Speicherüberlaufproblemen. Nach 5.3 kommt es beim Lesen der LOB-Ressourcen von Oracle immer noch zu einem Speicherüberlauf, wenn der Speicher nicht eingeschränkt ist. Wenn es sich im Produktmodus befindet, wird die Verwendung von Pear, Shmop, FTP usw. nicht empfohlen. Sie müssen lediglich C/C++, Java oder sogar andere Skriptsprachen verwenden. Es gibt gute und schnelle Optionen . Keine Beschränkung auf die Verwendung von PHP zur Implementierung erforderlich. Unbekannte Klassenbibliotheken und Bibliotheken, die nicht häufig verwendet werden, werden nicht empfohlen. Magic-Quote, session.auto_start, PHP-Serverinformationen, PHP-Fehlerinformationen usw. sollten so schnell wie möglich nach Abschluss der Kompilierung geschlossen werden, um die Offenlegung von Serverinformationen zu vermeiden.
Der Webserver-Modus, der PHP entspricht, erfordert nur eines von Module, fastcgi und fpm. Der Server ist nicht Ihr Experimentierfeld. Fastcgi kann zwischen Nginx und lighttpd wählen. Tatsächlich verwendet Nginx auch spwan-fcgi von lighttpd für die fcgi-Prozessverwaltung. fpm verwendet PHP selbst, um mehrere Prozesse zu verwalten, ähnlich einem Back-End-Proxy. Unabhängig vom Modus sollten bei der Veröffentlichung eines Produktservers eine Prozess- und Thread-Optimierung durchgeführt und ausreichend Stresstests durchgeführt werden, um die beste Kombination von Prozessnummern zu finden.
Wählen Sie eine PHP-OPCode-Cache-Erweiterung. Dies ist auch sehr wichtig. Unter Linux 2.6 Core und fcgi kommt es bei anderen zu erheblichen Leistungseinbußen. Wenn Sie es wirklich erleben möchten, kompilieren Sie lieber mehrere PHP-Versionen, als verschiedene Erweiterungen für eine PHP-Version zu sammeln, um sie an verschiedene Umgebungen anzupassen. Das bringt Sie in ein Dilemma.
Erweiterungen, die separat installiert werden müssen
gd-Bibliothek.
- Ming-Erweiterung.
Zu den detaillierten Optionen können neben der obigen Installationseinführung auch weitere Optionen beim Kompilieren hinzugefügt werden.
Apache-Modul
Syntax: --with-apache=DIR
Beschreibung: Verwenden Sie diese Option, damit **PHP
** es als Apache-Modul, DIR, verwendet Zeichenfolge kann /usr/local/Apache oder ein anderes Verzeichnis sein, in dem Apache installiert ist
Beispiel: --with-apache=/var/lib/apache
fhttpd-Servermodul
Syntax: --with-fhttpd=DIR
Hinweis: Wenn Sie den fttpd-Server verwenden, können Sie diesen Befehl zum Kompilieren von PHP verwenden. Durch die Verwendung von Modulen zur Zusammenarbeit mit dem FTPD-Server kann eine bessere Effizienz erzielt werden.
Adabas D-Datenbank
Syntax: --with-adabas=DIR
Beschreibung: Diese Option ist erforderlich, wenn das Datenbanksystem eine Adabas D-Datenbank ist. Einzelheiten zur Adabas D-Datenbank finden Sie unter
http://www.adabas.com.
Beispiel: --with-adabas=/usr/local/adabasd
dBase-Datentabelle
Syntax: --with-dbase
Erklärung: Fügen Sie einfach diese Option hinzu, nein Bedarf Für andere Parameter oder Funktionsbibliotheken ermöglicht PHP dem System den Zugriff auf die dBase-Datentabelle.
filePro-Datenbank
Syntax: --with-filepro
Beschreibung: Sie können die filePro-Datenbank lesen (schreibgeschützt), ohne den Datenbankpfad und andere Funktionsbibliotheken anzugeben.
mSQL-Datenbank
Syntax: --with-msql=DIR
Beschreibung: Bietet Zugriff auf die mSQL-Datenbank. Weitere Einzelheiten finden Sie auf der mSQL-Website
http://www.hughes.com.au.
Beispiel: --with-msql=/usr/local/Hughes
MySQL-Datenbank
Syntax: --with-mysql=DIR
Beschreibung: Bietet Zugriff auf die MySQL-Datenbank . Weitere Einzelheiten finden Sie auf der MySQL-Website
http://www.tcx.se.
Beispiel: --with-mysql=/usr/local/mysql
iODBC-Datenbankgerät
Syntax: --with-iodbc=DIR
Beschreibung: ODBC-Datenbankgerät bereitstellen , wird für den Zugriff auf die Backend-Datenbank verwendet. Weitere Einzelheiten finden Sie auf der iODBC-Website
http://www.iodbc.org.
Beispiel: --with-iodbc=/usr/local/iodbc
OpenLink ODBC-Datenbankgerät
Syntax: --with-openlink=DIR
Beschreibung: OpenLink ODBC verwenden Datenbankgerät, das für den Zugriff auf die Back-End-Datenbank verwendet wird. Weitere Einzelheiten finden Sie auf der OpenLink ODBC-Website
http://www.openlinksw.com.
Beispiel: --with-openlink=/usr/local/openlink
Oracle-Datenbank
Syntax: --with-oracle=DIR
Anleitung: Oracle-Datenbank verwenden. Die Oracle-Version muss Version 7.3 oder höher sein. Sie können in Ihrem PHP-Programm auch die Umgebungsvariable ORACLE_HOME verwenden, um den Pfad zu Oracle anzugeben. Weitere Informationen zu Oracle finden Sie auf der Website von Oracle
http://www.oracle.com.
Beispiel: --with-oracle=/export/app/oracle/product/7.3.2
PostgreSQL-Datenbank
Syntax: --with-pgsql=DIR
Erklärung : PostgreSQL-Datenbank verwenden. Weitere Informationen zu PostgreSQL finden Sie auf der PostgreSQL-Website
http://www.postgreSQL.org oder Taiwan Mirror-Site
http://postgresql.ccit.edu.tw.
Beispiel: --with-pgsql=/usr/local/pgsql
Solid-Datenbank
Syntax: --with-solid=DIR
Beschreibung: Solid-Datenbank verwenden. Weitere Informationen zu Solid finden Sie auf der Website von Solid
http://www.solidtech.com.
Beispiel: --with-solid=/usr/local/solid
Sybase-Datenbank
Syntax: --with-sybase=DIR
Beschreibung: Sybase-Datenbank verwenden. Weitere Informationen zu Sybase finden Sie auf der Sybase-Website
http://www.sybase.com.
Beispiel: --with-sybase=/home/sybase
Sybase-CT-Datenbank
Syntax: --with-sybase-ct=DIR
Anweisungen: Verwenden Sie Sybase- CT-Datenbank.
Beispiel: --with-sybase-ct=/home/sybase
Velocis-Datenbank
Syntax: --with-velocis=DIR
Beschreibung: Velocis-Datenbank verwenden. Weitere Informationen zur Velocis-Datenbank finden Sie auf der Raima-Website
http://www.raima.com.
Beispiel: --with-velocis=/usr/local/velocis
Benutzerdefinierter ODBC-Datenbanktreiber
Syntax: --with-custom-odbc=DIR
Beschreibung: Verwendung benutzerdefinierte ODBC-Funktionsbibliothek. Natürlich müssen Sie bei Verwendung dieser Methode die Variablen CUSTOM_ODBC_LIBS und CFLAGS angeben. Wenn Sie beispielsweise Sybase **SQL
** Anywhere auf einem QNX-Computer verwenden, müssen Sie möglicherweise die Systemumgebungsvariablen CFLAGS=-DODBC_QNX, LDFLAGS=-lunix und CUSTOM_ODBC_LIBS="-ldblib -lodbc" konfigurieren und hinzufügen -- in der PHP-Konfiguration.
Beispiel: --with-custom-odbc=/usr/local/odbc
Verwenden Sie keinen ODBC-Datenbanktreiber
Syntax: --disable-unified-odbc
Hinweis: Durch die Verwendung dieser Option werden alle ODBC-Datenbanktreiber deaktiviert. Für diese Option muss kein Pfad angegeben werden. Die von dieser Option betroffenen Optionen sind --with-iodbc, --with-solid, --with-adabas, --with-velocis und --with-custom-odbc.
LDAP Directory Protocol
Syntax: --with-ldap=DIR
Erklärung: Diese Option muss aktiviert sein, wenn Sie das Directory Protocol (Lightweight Directory Access Protocol, LDAP) verwenden möchten ). Einzelheiten zu LDAP finden Sie in den RFC-Dokumenten RFC1777 und RFC1778.
Beispiel: --with-ldap=/usr/local/ldap.
mcrypt-Kodierungsfunktionsbibliothek
Syntax: --with-mcrypt=DIR
说明: 当安装了 mcrypt 函数库后,可在编译 PHP 时加入本选项,让程序可以使用编解码功能。
范例: --with-mcrypt=/usr/local/include
Sys V 信号
语法: --enable-sysvsem
说明: 要使用 SysV 的信号 (semaphores) 机制,则要打开本选项。
XML 支持
语法: --with-xml
说明: 打开本选项可以支持 James Clark's 写的 XML 解析程序库。
维护模式
语法: --enable-maintainer-mode
说明: 本选项一般不会打开,除非是 PHP 开发人员比较有用。
正则表达式程序库
语法: --with-system-regex
说明: 若您需要额外的正则表达式功能,可以加入本选项。
PHP 配置文件
语法: --with-config-file-path=DIR
说明: 用来指定 php3.ini 或 php4.ini 的路径,供 PHP 初始化时使用。
范例: --with-config-file-path=/usr/local/lib
PHP 执行路径
语法: --with-exec-dir=DIR
说明: 有时为了系统的安全性考虑,会指定 PHP 程序一定要在哪个目录执行。
范例: --with-exec-dir=/usr/local/bin
调试模式
语法: --enable-debug
说明: 本选项一般不会使用,除非在开发 PHP 程序时比较有用。它可以显示额外的错误信息。
安全模式
语法: --enable-safe-mode
说明: 默认值是打开的,可以对系统安全提供比较多的保护。
变量追踪
语法: --enable-track-vars
说明: 让 PHP 能 追踪 HTTP_GET_VARS、HTTP_POST_VARS 及 HTTP_COOKIE_VARS 三个变量,一般是打开的。
自动加引入字符
语法: --enable-magic-quotes
说明: 可让程序在执行时自动加入反斜线的引入字符。
打开调试器
语法: --enable-debugger
说明: 打开内建的 PHP 调试器。目前本功能还在实验阶段,尚未成熟。
取消路径 (discard path)
语法: --enable-discard-path
说明: 打开这个选项,**用户
**就不能透过浏览器读取 .htaccess 等和系统安全相关的文件。
高精确度数学函数
语法: --enable-bcmath
说明: 打开高精确度函数。必须要先安装本函数库,本选项方有效。
强制 CGI 重定向
语法: --enable-force-cgi-redirect
范 例: 若使用 CGI VERSION 模式来执行 PHP 的设,打开本选项会增加安全性。例如用户读
http://my.host/cgi-bin/php/secret/doc.html 遇到比较了解 PHP 系统的黑客级用户可能会自已输入以下网址
http://my.host/secret/doc.html 来读取相关信息。若 PHP 和 Apache 编译在一起,让 PHP 变成 Apache 的一部份,则不需要加入本选项。
不使用短的标记
语法: --disable-short-tags
说明: 配置本选项后,PHP 的程序就不能使用短的标记,一定要用的长标记。
引入远端档宁
语法: --enable-url-includes
说明: 配置本选项可让 PHP 程序可以引入 (include) 远端的 HTTP 或 FTP 服务器中的文件。
关闭语法效果
语法: --disable-syntax-hl
说明: 使用本选项会关闭 PHP 语法的彩色效果。
函数库路径
语法: CPPFLAGS=-IDIR 及 LDFLAGS=-LDIR
说明: 若 PHP 在安全或编译所需的函数库在值得的路径,需要加入本选项,LDFLAGS 表示函数库的路径,CPPFLAGS 表示标头文件的路径。
范例: LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
配置项代码
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pcre-regex --with-iconv --with-zlib --with-gd --with-openssl --with-xmlrpc --with-curl --with-imap-ssl --with-freetype-dir --enable-fpm --enable-pcntl --with-mcrypt --with-mhash
转自:https://www.jianshu.com/p/0a79847c8151
相关推荐:
Das obige ist der detaillierte Inhalt vonPHP-Kompilierung und -Installation Detaillierte Erläuterung der einzelnen Konfigurationen der PHP-Kompilierungsparameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
