首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

在Ubuntu 系统中怎么切换多个 PHP 版本

有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。请参阅我们的旧指南,在这了解如何降级 Ubuntu 及其衍生版中的软件包以及在这了解如何降级 Arch Linux 及其衍生版中的软件包。但是,你无需降级某些软件包。我们可以同时使用多个版本。例如,假设你在测试部署在 Ubuntu 18.04 LTS 中的LAMP 栈的 PHP 程序。过了一段时间,你发现应用程序在 PHP 5.6 中工作正常,但在 PHP 7.2 中不正常(Ubuntu 18.04 LTS 默认安装 PHP 7.x)。你打算重新安装 PHP 或整个 LAMP 栈吗?但是没有必要。你甚至不必将 PHP 降级到其早期版本。在这个简短的教程中,我将向你展示如何在 Ubuntu 18.04 LTS 中切换多个 PHP 版本。它没你想的那么难。请继续阅读。

02

PHP5.3、PHP5.4安装ZendOptimizer

现在很多PHP程序都需要ZendOptimizer环境,但是ZendOptimizer在PHP5.2之后已经被支持,那怎么办,Zend也不会这么做,原来PHP5.3开始ZendOptimizer正式改为Zend Guard Loader。  Zend Guard Loader的发布,而且Zend Optimizer不会再更新,并且由于差异很大使用Zend Guard加密代码时将提示你是否使用php5.3,如果使用5.3那么代码就无法在php5.2上运行。  Zend Guard Loader安装说明  1.下载Zend Guard Loader包。(官方地址:http://www.zend.com/en/products/guard/downloads)  Linux:  x86:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz  x64:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz  Windows:  http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-Windows.zip  2. 并提取ZendGuardLoader.so(Linux)或ZendLoader.dll(Windows)上传到服务器。  3. 加载ZendGuardLoader,配置PHP.INI  例子:  zend_extension=C:\web\PHP\ext\ZendLoader.dll  zend_loader.enable=1  zend_loader.disable_licensing=0  zend_loader.obfuscation_level_support=3  zend_loader.license_path=  下面逐一说明:  注意windows版的只支持NTS(非线程安全)版的PHP5.3,即phpinfo中Thread Safety为disabled的!  在你的php.ini文件中添加以下行:  Linux和Mac OS X:zend_extension=<ZendGuardLoader.so的绝对路径>  Windows的非线程安全的:zend_extension=<ZendLoader.dll的绝对路径>  4. 添加下面这行加载ZendGuardLoader:  ;启用加载编码脚本。默认开启  zend_loader.enable=1  5. 可选:配置ZendGuardLoader  ;禁用检查授权(出于性能原因)  zend_loader.disable_licensing=0  ;配置混淆水平 0 – 不支持混淆  zend_loader.obfuscation_level_support=3  ;配置寻找授权文件的路径  zend_loader.license_path=  6. 如果你同时使用Zend debugger,请保证加载Zend guard Loader后再加载Zend debugger  7. 如果你同时使用Ioncube loader,请保证加载Ioncube loader后再加载Zend guard Loader  8. 重启Web服务。  如果在phpinfo中看到如下内容(不同的版本可能会有所不同):  This program makes use of the Zend Scripting Language Engine:Zend Engine v2.4.0, Copyright (c) 1998-2011 Zend Technologies  说明安装已经成功!

01

彻底搞懂PHP 变量结构体

// 1. zval typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; zend_uchar type; zend_uchar is_ref__gc; } zval; // 2. zvalue_value typedef union _zvalue_value { long lval; // 用于 bool 类型、整型和资源类型 double dval; // 用于浮点类型 struct { // 用于字符串 char *val; int len; } str; HashTable *ht; // 用于数组 zend_object_value obj; // 用于对象 zend_ast *ast; // 用于常量表达式(PHP5.6 才有) } zvalue_value; // 3. zend_object_value typedef struct _zend_object_value { zend_object_handle handle; const zend_object_handlers *handlers; } zend_object_value; // 4. zend_object_handle /【尽量使用一键安装脚本,要么自己做,要么网上下载或使用我博客的,把时间用在更多的地方,少做重复劳动的事情】/typedef unsigned int zend_object_handle;

04
领券