Yii2 Day 8 配置多版本PHP
起因
Yii2对最低要求PHP5.4,但是目前很多空间或者主机,PHP的版本还停留在5.3及以下。这个时候就面临两个选择:
升级PHP版本 再安装一个高版本PHP如果已经有站点在这个服务器上运行的话,贸然升级PHP版本,很可能让那些使用了过时的函数,不规范用法的PHP程序报一堆警告或者错误,那就无可挽回啦。安全起见,再安装一个高版本PHP比较保守些。那么如果让Nginx或者Apchce使用不同版本的PHP呢?那就是PHP-FPM.
PHP-FPM
FastCGI Process Manager, 即FastCGI进程管理器。使用PHP-FPM模式的配置PHP站点,一个请求的流程是这样的(以Nginx+PHP-FPM为例):
PHP-FPM启动监听,通常默认是9000,所以很多Nginx配置会有一条 Fastcgi-pass 127.0.0.1:9000 浏览器发送请到Nginx应用服务器 Nginx把PHP请求,转发给PHP的FastCGI进程, FastCGI进程处理完毕PHP脚本后,返回给应用服务器,服务器再返回给浏览器。因此,让不同的站点使用不同的PHP版本,就可以通过将请求转发给不同的PHP-FPM进程。
编译PHP
下载相应版本的PHP代码,编译安装到不同的路径下,把需要的扩展尽量都加进去:
<!-- lang: shell -->./configure --prefix=/usr/local/php-5.5 --with-config-file-path=/usr/local/php-5.5/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-bz2 --with-curl=/usr/bin --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --with-mcrypt=/usr/bin --enable-zip --enable-soap --enable-mbstring --with-gd --with-openssl --enable-pcntl --with-xmlrpc --enable-opcache
由于Yii2使用到了mcrypt,所以加了?with-mcrypt,但是如果没有安装过,configure的时候会报找不到 mcrypt.h之类的错误,说明系统确实这个库,需要先安装,使用yum install libmcrypt mcrypt mhash. 再次configure就可以不报错了。
配置PHP-FPM
安装完毕后,打开 php-fpm.conf, 修改监听的端口,或者修改sock文件名称,防止和旧版本的PHP-FPM进程冲突。然后启动这个php-fpm进程。
修改站点配置
主要就是修改FASTCGI_PASS, 指向相应的监听端口或者sock文件。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Alipay Php ...

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
