目次
phpbrew构建和安装多个 PHP 版本phpbrew 是一个工具,可以在 $HOME 目次中构建和安装多个 PHP 版本。 phpbrew 的功能包罗
要求请查察 Requirement[1] 在开始之前。你必要安装一些用于构建 PHP 的开发包。 安装只需下载它: [code]curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar chmod +x phpbrew.phar [/code]然后,你可以将其安装到 bin 文件夹中: [code]sudo mv phpbrew.phar /usr/local/bin/phpbrew [/code]确保在你的 [code]$PATH[/code] 环境变量中有 [code]/usr/local/bin[/code]。 设置初始化一个用于你的 shell 环境的 bash 脚本: [code]phpbrew init [/code]将以下行添加到你的 .bashrc 或 .zshrc 文件: [code][[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc [/code]设置查找前缀你可以设置你首选的用于查找库的默认前缀,可用选项有 macports、homebrew、debian、ubuntu 或自界说路径: 对于 Homebrew 用户: [code]phpbrew lookup-prefix homebrew [/code]对于 Macports 用户: [code]phpbrew lookup-prefix macports [/code]根本用法列出已知版本: [code]$ phpbrew known 7.0: 7.0.3, 7.0.2, 7.0.1, 7.0.0 ... 5.6: 5.6.18, 5.6.17, 5.6.16, 5.6.15, 5.6.14, 5.6.13, 5.6.12, 5.6.11 ... 5.5: 5.5.32, 5.5.31, 5.5.30, 5.5.29, 5.5.28, 5.5.27, 5.5.26, 5.5.25 ... 5.4: 5.4.45, 5.4.44, 5.4.43, 5.4.42, 5.4.41, 5.4.40, 5.4.39, 5.4.38 ... 5.3: 5.3.29, 5.3.28 ... [/code]显示更多次要版本: [code]phpbrew known --more [/code]更新发布信息: [code]phpbrew update [/code]获取旧版本(低于 5.4) 请留意,我们不保证可以成功构建官方不支持的 PHP 版本,请不要报告有关旧版本的问题,这些问题将不会修复。 [code]phpbrew update --old [/code]列出已知的旧版本(低于 5.4) [code]phpbrew known --old [/code]开始构建自己的 PHP利用默认变体构建和安装 PHP: [code]phpbrew install 5.4.0 +default [/code]这里发起利用默认变体集,此中包罗最常用的变体。如果你必要举行最小安装,只需删除默认变体集。 你可以通过通报 [code]-j[/code] 或 [code]--jobs[/code] 选项启用并行编译,以下是一个示例: [code]phpbrew install -j $(nproc) 5.4.0 +default [/code]带有测试: [code]phpbrew install --test 5.4.0 [/code]带有调试信息: [code]phpbrew -d install --test 5.4.0 [/code]安装旧版本(低于 5.3): [code]phpbrew install --old 5.2.13 [/code]安装下一个(不稳定)版本: [code]phpbrew install next as php-7.1.0 [/code]从 GitHub 标签安装: [code]phpbrew install github:php/php-src@PHP-7.0 as php-7.0.0 [/code]整理构建目次: [code]phpbrew clean php-5.4.0 [/code]变体PHPBrew 为你整理了设置选项,你可以简单地指定变体名称,phpbrew 将检测包罗路径和用于设置的构建选项。 PHPBrew 提供了默认变体和一些假造变体。默认变体包罗最常用的变体,而假造变体界说了一个变体集,你可以利用一个假造变体一次性启用多个变体。 要查察这些变体中包罗了什么,只需运行[code]variants[/code]子下令来列出这些变体: [code]$ phpbrew variants Variants: all, apxs2, bcmath, bz2, calendar, cgi, cli, ctype, dba, debug, dom, embed, exif, fileinfo, filter, fpm, ftp, gcov, gd, gettext, hash, iconv, icu, imap, intl, ipc, ipv6, json, kerberos, mbregex, mbstring, mcrypt, mhash, mysql, openssl, pcntl, pcre, pdo, pgsql, phar, posix, readline, session, soap, sockets, sqlite, tidy, tokenizer, xml_all, xmlrpc, zip, zlib, gmp Virtual variants: dbs: sqlite, mysql, pgsql, pdo mb: mbstring, mbregex neutral: default: filter, dom, bcmath, ctype, mhash, fileinfo, pdo, posix, ipc, pcntl, bz2, zip, cli, json, mbstring, mbregex, calendar, sockets, readline, xml_all[/code]利用变体构建 PHP 的示例: [code]phpbrew install 5.3.10 +default phpbrew install 5.3.10 +mysql +pdo phpbrew install 5.3.10 +mysql +pdo +apxs2 phpbrew install 5.3.10 +mysql +pdo +apxs2=/usr/bin/apxs2 [/code]要启用一个变体,只需在变体名称前加上前缀[code]+[/code],比方: [code]+mysql [/code]要禁用一个变体,只需在变体名称前加上前缀[code]-[/code]。 比方,如果我们盼望利用默认选项和数据库支持(mysql、sqlite、postgresql)构建 PHP,你可以简单地运行: [code]phpbrew install 5.4.5 +default+dbs [/code]你还可以利用额外的变体构建 PHP: [code]phpbrew install 5.3.10 +mysql+sqlite+cgi phpbrew install 5.3.10 +mysql+debug+pgsql +apxs2 phpbrew install 5.3.10 +pdo +mysql +pgsql +apxs2=/usr/bin/apxs2 [/code]要构建带有 pgsql(PostgreSQL)扩展的 PHP: [code]phpbrew install 5.4.1 +pgsql+pdo [/code]或在 Mac OS X 上利用 postgresql 根本目次构建 pgsql 扩展: [code]phpbrew install 5.4.1 +pdo+pgsql=/opt/local/lib/postgresql91/bin [/code]pgsql 路径是[code]pg_config[/code]的位置,你可以在[code]/opt/local/lib/postgresql91/bin[/code]找到[code]pg_config[/code]。如果要利用中性编译选项构建 PHP,你可以指定中性假造变体,这意味着 phpbrew 不会添加任何额外的编译选项,包罗[code]--disable-all[/code]。但是,一些选项(比方[code]--enable-libxml[/code])仍旧会自动添加以支持 pear 安装。你可以利用中性构建 PHP: [code]phpbrew install 5.4.1 +neutral [/code]有关更多具体信息,请查察 PHPBrew Cookbook[2]。 额外的设置选项要通报额外的设置参数,可以这样做: [code]phpbrew install 5.3.10 +mysql +sqlite -- \ --enable-ftp --apxs2=/opt/local/apache2/bin/apxs [/code]利用和切换利用(暂时切换版本): [code]phpbrew use 5.4.22 [/code]切换 PHP 版本(切换默认版本): [code]phpbrew switch 5.4.18 [/code]关闭: [code]phpbrew off [/code]如果启用了 Apache PHP 模块,请记得注释或删除这些设置。 [code]$ sudo vim /etc/httpd/conf/httpd.conf # LoadModule php5_module /usr/lib/httpd/modules/libphp5.3.21.so # LoadModule php5_module /usr/lib/httpd/modules/libphp5.3.20.so [/code]列出已安装的 PHP[code]phpbrew list [/code]扩展安装程序您还可以轻松地安装 PHP 扩展,无论是与 PHP 源代码一起提供的扩展,照旧来自 PECL。 如果在 PHP 源代码中找到扩展目次,PHPBrew 将自动切换到 PHP 源目次并安装扩展。 如果在 PHP 源代码中未找到扩展目次,PHPBrew 将从 PECL http://pecl.php.net 获取扩展包。 PHPBrew 还创建扩展设置以启用安装的扩展,因此您无需手动编写设置文件即可启用它。扩展设置目次在: [code]~/.phpbrew/php/php-{version}/var/db [/code]安装扩展 - 最简单的方式在安装任何 PHP 扩展之前,应设置当前运行的 PHP 版本: [code]phpbrew use php-5.5.6 [/code]然后运行[code]ext install[/code]来安装扩展: [code]phpbrew ext install apcu phpbrew ext install memcache [/code]利用稳定性安装扩展利用稳定性标签安装扩展: [code]phpbrew ext install xdebug stable phpbrew ext install xdebug latest phpbrew ext install xdebug beta [/code]利用版本名称安装扩展: [code]phpbrew ext install xdebug 2.0.1 [/code]展示扩展设置选项要查察是否有一些构建扩展的设置选项,可以利用 [code]ext show[/code] 下令。请留意,[code]show[/code] 下令仅实用于内置扩展: [code]phpbrew ext show apcu [/code]利用自界说选项安装扩展[code]phpbrew ext install yaml -- --with-yaml=/opt/local [/code]从 GitHub 安装扩展特殊前缀 [code]github:[/code] 告诉 phpbrew 从 php-memcached-dev/phpmemcached 存储库获取扩展并切换到 php7 分支: [code]phpbrew ext install github:php-memcached-dev/php-memcached php7 -- --disable-memcached-sasl [/code]利用特定下载工具安装扩展现在,phpbrew 支持 4 种不同的下载工具实现:
可以利用你喜欢的下载工具替换默认的下载工具: [code]phpbrew ext install --downloader php_curl apcu [/code]基于 curl 的 php 扩展下载工具支持 User-Agent 和代理设置,因此如果遇到一些网络问题,你可以这样做: [code]phpbrew ext install --download php_curl --http-proxy=... --http-proxy-auth=... apcu [/code]启用扩展你还可以通过 PECL 安装扩展并手动启用它: [code]pecl install mongo phpbrew ext enable mongo [/code][code]ext enable[/code] 下令允许你创建一个设置文件 [code]{当前 php base}/var/db/{extension name}.ini[/code] 来启用该扩展。 设置当前 PHP 版本的 php.ini只需运行: [code]phpbrew config [/code]你可以将 EDITOR 环境变量指定为你喜欢的编辑器: [code]export EDITOR=vim [/code]然后运行: [code]phpbrew config [/code]升级 phpbrew要升级 phpbrew,只需运行 self-update 下令,此下令允许你安装来自 GitHub 主分支的最新版本: [code]phpbrew self-update [/code]已安装的 PHP(s)已安装的 PHP 位于 ~/.phpbrew/php,比方,PHP 5.4.20 位于: [code]~/.phpbrew/php/5.4.20/bin/php [/code]你应该将设置文件放在: [code]~/.phpbrew/php/5.4.20/etc/php.ini [/code]扩展设置文件应放在: [code]~/.phpbrew/php/5.4.20/var/db ~/.phpbrew/php/5.4.20/var/db/xdebug.ini ~/.phpbrew/php/5.4.20/var/db/apc.ini ~/.phpbrew/php/5.4.20/var/db/memcache.ini ... etc [/code]快速在目次之间切换的下令切换到 PHP 构建目次: [code]phpbrew build-dir [/code]切换到 PHP 分发目次: [code]phpbrew dist-dir [/code]切换到 PHP etc 目次: [code]phpbrew etc-dir [/code]切换到 PHP var 目次: [code]phpbrew var-dir [/code]PHP FPMphpbrew 还提供了一些有效的 FPM 管理子下令。要利用它们,请记着在构建自己的 PHP 时启用 +fpm 变体。 启动 php-fpm,只需键入: [code]phpbrew fpm start [/code]停止 php-fpm,输入: [code]phpbrew fpm stop [/code]显示 php-fpm 模块: [code]phpbrew fpm module [/code]测试 php-fpm 设置: [code]phpbrew fpm test [/code]编辑 php-fpm 设置: [code]phpbrew fpm config [/code]已安装的 php-fpm 位于 ~/.phpbrew/php/php-*/sbin。 对应的 php-fpm.conf 位于 ~/.phpbrew/php/php-*/etc/php-fpm.conf.default,你可以将默认设置文件复制到所需的位置。比方, [code]cp -v ~/.phpbrew/php/php-*/etc/php-fpm.conf.default ~/.phpbrew/php/php-*/etc/php-fpm.conf php-fpm --php-ini {php config file} --fpm-config {fpm config file} [/code]启用版本信息提示要在 shell 提示中添加 PHP 版本信息,可以利用 "PHPBREW_SET_PROMPT=1" 变量。 默认环境下是 "PHPBREW_SET_PROMPT=0"(禁用)。要启用它,可以将此行添加到你的 ~/.bashrc 文件,并将此行放在 source ~/.phpbrew/bashrc 之前。 [code]export PHPBREW_SET_PROMPT=1 [/code]要在提示中嵌入版本信息,可以利用 phpbrew_current_php_version shell 函数,该函数在 .phpbrew/bashrc 中界说。而且你可以在你的 PS1 变量中设置版本信息,比方: [code]PS1=" \$(phpbrew_current_php_version) \$ " [/code]已知问题对于 PHP-5.3+ 版本,“在 OS X 上构建 intl 64 位失败” https://bugs.php.net/bug.php?id=48795 要利用 GD 扩展构建 PHP,你必要指定你的 libpng 目次和 libjpeg 目次,比方: [code]phpbrew install php-5.4.10 +default +mysql +intl +gettext +apxs2=/usr/bin/apxs2 \ -- --with-libdir=lib/x86_64-linux-gnu \ --with-gd=shared \ --enable-gd-natf \ --with-jpeg-dir=/usr \ --with-png-dir=/usr [/code]参考资料 [1]Requirement: https://github.com/phpbrew/phpbrew/wiki/Requirement [2]PHPBrew Cookbook: https://github.com/phpbrew/phpbrew/wiki 以上就是一文精通php多版本管理工具phpbrew利用教程的具体内容,更多关于php多版本管理工具phpbrew的资料请关注脚本之家其它相关文章! 来源:https://www.jb51.net/program/313539oei.htm 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-1 22:35 , Processed in 0.043413 second(s), 18 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.