来自 美高梅4858官方网站 2019-12-11 05:36 的文章
当前位置: 美高梅4858官方网站 > 美高梅4858官方网站 > 正文

美高梅4858官方网站:工具安装不同版本的php教程,php7自定义参数生成libphp7

LoadModule php5_module    /usr/local/opt/php53/libexec/apache2/libphp5.so
 
重启apache,phpinfo() 脚本里显示的 php 版本就变成了 PHP Version 5.3.29。

To have launchd start homebrew/php/php72 now and restart at login:

# mac系统自带的php
$ /usr/bin/php -v
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies

Enable building of shared Apache Handler module

如何卸载安装的 php5.3呢?

Please `brew unlink php71` before continuing.

PHP53 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.

==> Downloading from

brew update
brew tap homebrew/dupes
brew tap homebrew/php
brew tap josegonzalez/homebrew-php

brew services start homebrew/php/php72

✩✩✩✩ Extensions ✩✩✩✩

The php.ini file can be found in:

常用命令: (所有软件以PHP5.5为例子)

cp /usr/local/opt/php72/homebrew.mxcl.php72.plist ~/Library/LaunchAgents/

To have launchd start php53 at login:
    ln -sfv /usr/local/opt/php53/*.plist ~/Library/LaunchAgents
Then to load php53 now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php53.plist
==> Summary
   /usr/local/Cellar/php53/5.3.29: 480 files, 31M, built in 12.9 minutes

install, but the build may fail or cause obscure side-effects in the

HP编译过程中如果遇到 configure: error: Cannot find OpenSSL's <evp.h> 错误,执行 xcode-select --install 重新安装一下 Xcode Command Line Tools 即可解决该错误(来源:

➜  apache2 git:(stable) ✗

export PATH="$(brew --prefix homebrew/php/php53)/bin:$PATH"

➜  apache2 git:(stable) ✗ brew unlink php71

# 卸载
brew uninstall php53
# 清除缓存以及老旧版本文件
brew cleanup -s

==> make install

If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,
~/.zshrc, ~/.profile or your shell's equivalent configuration file:

pear config-set php_ini /usr/local/etc/php/7.2/php.ini system

由于我们没有安装php的fpm模式,所以 php-fpm -v 命令显示的是mac自带的:
$ php-fpm -v
PHP 5.4.30 (fpm-fcgi) (built: Jul 29 2014 23:44:15)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies

Finally, check DirectoryIndex includes index.php

   
等待PHP编译完成,开始安装PHP常用扩展,扩展安装过程中 brew会自动安装依赖包,使用 brew search php53- 命令,可以查看还有哪些扩展可以安装,然后执行 brew install php53-XXX 就可以了。

Please note that the plist was called 'homebrew-php.josegonzalez.php72.plist' in old versions of this formula.

可以使用 brew options php53 命令来查看安装php5.3的选项,这里我用下面的选项安装:

作者博客:开发者说PHPersay

MAC OS X 10.9.5系统里已经自带了 apache  和 php ,只是默认没有启用,我们将他们启用即可。
APACHE的默认版本是 Apache/2.2.26 (Unix),php版本是PHP 5.4.30。

常见问题 找不到libphp7.so

✩✩✩✩ PEAR ✩✩✩✩

✩✩✩✩ FPM ✩✩✩✩

echo 'export PATH="$(brew --prefix homebrew/php/php53)/bin:$PATH"' >> ~/.bash_profile  #for php
echo 'export PATH="$(brew --prefix homebrew/php/php53)/sbin:$PATH"' >> ~/.bash_profile  #for php-fpm
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile #for other brew install soft
source ~/.bash_profile  #更新配置

If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc, ~/.zshrc, ~/.profile or your shell's equivalent configuration file:

brew update                        #更新brew可安装包,建议每次执行一下
brew search php55                  #搜索php5.5
brew tap josegonzalez/php          #安装扩展<gihhub_user/repo>  
brew tap                           #查看安装的扩展列表
brew install php55                 #安装php5.5
brew remove  php55                 #卸载php5.5
brew upgrade php55                 #升级php5.5
brew options php55                 #查看php5.5安装选项
brew info    php55                 #查看php5.5相关信息
brew home    php55                 #访问php5.5官方网站
brew services list                 #查看系统通过 brew 安装的服务
brew services cleanup              #清除已卸载无用的启动配置文件
brew services restart php55        #重启php-fpm

第二步,安装PHP

   
先添加brew的PHP扩展库:

➜  apache2 git:(stable) ✗ brew install php72  --with-httpd --with-debug  --with-imap --with-mssql --with-pear --with-postgresql  --with-webp

brew install php53 --with-apache --with-gmp --with-imap --with-tidy --with-debug

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php72.plist

If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
    chmod -R ug+w /usr/local/Cellar/php53/5.3.29/lib/php
    pear config-set php_ini /usr/local/etc/php/5.3/php.ini

➜  apache2 git:(stable) ✗brew options php72

由于Mac自带了php和php-fpm,因此需要添加系统环境变量PATH来替代自带PHP版本:

➜  apache2 git:(stable) ✗ brew install php72  --with-httpd --with-debug  --with-imap --with-mssql --with-pear --with-postgresql  --with-webp

The php.ini file can be found in:
    /usr/local/etc/php/5.3/php.ini

To enable PHP in Apache add the following to httpd.conf and restart Apache:

请注意:如果你希望以mac下的apache作为web server,编译时要加 --with-apache;如果你的web server 是 nginx这类,就需要加上 --with-fpm。

--HEAD

测试一下效果:

==> Caveats

$ php -v
PHP 5.3.29 (cli) (built: Jan 24 2015 12:40:58) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies

php71: because different php versions install the same binaries.

✩✩✩✩ PHP CLI ✩✩✩✩

export PATH="$(brew --prefix homebrew/php/php72)/bin:$PATH"

Options
--disable-opcache
Build without Opcache extension
--disable-zend-multibyte
Disable auto-detection of Unicode encoded scripts
--homebrew-apxs
Build against apxs in Homebrew prefix
--with-apache
Enable building of shared Apache 2.0 Handler module, overriding any options which disable apache
--with-cgi
Enable building of the CGI executable (implies --without-apache)
--with-debug
Compile with debugging symbols
--with-fpm
Enable building of the fpm SAPI executable (implies --without-apache)
--with-gmp
Build with gmp support
--with-homebrew-curl
Include Curl support via Homebrew
--with-homebrew-libxslt
Include LibXSLT support via Homebrew
--with-homebrew-openssl
Include OpenSSL support via Homebrew
--with-imap
Include IMAP extension
--with-libmysql
Include (old-style) libmysql support instead of mysqlnd
--with-mssql
Include MSSQL-DB support
--with-pdo-oci
Include Oracle databases (requries ORACLE_HOME be set)
--with-phpdbg
Enable building of the phpdbg SAPI executable (PHP 5.4 and above)
--with-postgresql
Build with postgresql support
--with-thread-safety
Build with thread safety
--with-tidy
Include Tidy support
--without-bz2
Build without bz2 support
--without-mysql
Remove MySQL/MariaDB support
--without-pcntl
Build without Process Control support
--without-pear
Build without PEAR
--without-snmp
Build without SNmp support
--HEAD
Install HEAD version

OS X 10.8 and newer come with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:

由于调试程序需要,我需要同时安装低版本的php5.3,但是又不希望删除系统预装的php 5.4,或升级/降级系统的php5.4,那么怎么办呢?这个时候,就可以通过brew的方式安装新的php版本。

第一步,先安装 brew

==> Summary

If you are having issues with custom extension compiling, ensure that
you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:

############################################################ 100.0%

 
这个时候,我们使用 phpinfo 函数显示出来的php版本还是max自带的PHP5.4,需要我们修改 apache的配置文件 httpd.conf,加载的php5模块路径指向刚刚安装的 php5.3目录里的 libphp5.so:

--with-mssql

安装完php后,会有一段提示,请仔细阅读:

Include LibreSSL instead of OpenSSL via Homebrew

Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
    LoadModule php5_module    /usr/local/opt/php53/libexec/apache2/libphp5.so

The control script is located at /usr/local/opt/php72/sbin/php72-fpm

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Remove MySQL/MariaDB support

在mac下终端里直接输入命令行:

本文由美高梅4858官方网站发布于美高梅4858官方网站,转载请注明出处:美高梅4858官方网站:工具安装不同版本的php教程,php7自定义参数生成libphp7

关键词: