因为一直没升级系统版本,php也一直用的是系统默认的,致使新的一些东西用起来会有问题,php
好比 composer ... 以前一直 没去理会,此次有个资源在github上没找到,想了想还必须弄弄这个东西了,废话很少说了,流水帐以下:mysql
系统版本: os x 10.9.5 php5.4.45 php配置简记git
'/private/var/tmp/apache_mod_php/apache_mod_php-87.10~1/php/configure' '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--sysconfdir=/private/etc' '--with-apxs2=/usr/sbin/apxs' '--enable-cli' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/Library/Server/Web/Config/php' '--with-libxml-dir=/usr' '--with-openssl=/usr' '--with-kerberos=/usr' '--with-zlib=/usr' '--enable-bcmath' '--with-bz2=/usr' '--enable-calendar' '--disable-cgi' '--with-curl=/usr' '--enable-dba' '--enable-ndbm=/usr' '--enable-exif' '--enable-fpm' '--enable-ftp' '--with-gd' '--with-freetype-dir=/BinaryCache/apache_mod_php/apache_mod_php-87.10~1/Root/usr/local' '--with-jpeg-dir=/BinaryCache/apache_mod_php/apache_mod_php-87.10~1/Root/usr/local' '--with-png-dir=/BinaryCache/apache_mod_php/apache_mod_php-87.10~1/Root/usr/local' '--enable-gd-native-ttf' '--with-icu-dir=/usr' '--with-ldap=/usr' '--with-ldap-sasl=/usr' '--with-libedit=/usr' '--enable-mbstring' '--enable-mbregex' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--without-pear' '--with-pdo-mysql=mysqlnd' '--with-mysql-sock=/var/mysql/mysql.sock' '--with-readline=/usr' '--enable-shmop' '--with-snmp=/usr' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--with-tidy' '--enable-wddx' '--with-xmlrpc' '--with-iconv-dir=/usr' '--with-xsl=/usr' '--enable-zend-multibyte' '--enable-zip' '--with-pcre-regex=/usr'
-------------Startgithub
建立并进入安装目录sql
https://getcomposer.org/download/ apache
根据官网提示 进行安装bootstrap
$php composer-setup.php Downloading 1.1.2... Composer successfully installed to: /data/codes/study/php/composer/composer.phar Use it: php composer.phar Some settings on your machine may cause stability issues with Composer. If you encounter issues, try to change the following: The OpenSSL library (0.9.8zd) used by PHP does not support TLSv1.2 or TLSv1.1. If possible you should upgrade OpenSSL to version 1.0.1 or above.
完成后 提示 openssl 版本太低bash
brew updateapp
...composer
brew upgrade openssl
$brew upgrade openssl ==> Upgrading 1 outdated package, with result: openssl 1.0.2h_1 ==> Upgrading openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h_1.mavericks.bottle.tar.gz ######################################################################## 100.0% ==> Pouring openssl-1.0.2h_1.mavericks.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local. Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include ==> Summary /usr/local/Cellar/openssl/1.0.2h_1: 1,691 files, 12.3M
升级完系统的openssl 以后
从新编译安装php openssl 扩展
修改php.ini
重启php-fpm
而后发现openssl扩展加载 冲突
原来编译的时候 已经默认开启了, 移除 /usr/bin/openssl 从新创建软链
sudo ln -s /usr/local/opt/openssl/bin/openssl /usr/bin/openssl
重启php-fpm 依然载入的不是新的openssl
看来只能从新编译安装php了, 先备份删除系统默认的php
去php官网下载对应的源码包,移除系统默认配置中 apache 相关的配置项
修改
--with-openssl=/usr/local/opt/openssl
配置后 sudo make ... sudo make install ...
而后移除刚刚配置的多余扩展 openssl.so
启动php-fpm 查看phpinfo
更新成功:)