在线安装

可以通过下载一个shell脚本,并实行安装,如下:

PHP 7.0 (Current stable)

php二进制包Mac 下php5370的二进制包 ── PHPOS RESTful API

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

PHP 5.6 (Current stable)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

PHP 5.5 (Old stable)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

PHP 5.4 (End of life)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

PHP 5.3 (End of life)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.3

这个脚本会安装packager 位于 /usr/local/packer 以及PHP在/user/local/php5 ,为此我们须要你输入密码。
当然不会做一些对你有害的事情。

Asked & Questions

为什么实行php -v看到的PHP版本不是我们安装的版本了?

php-osx 不会覆盖mac下安装的php二进制可实行程序,但是会安装所有东西在/usr/local/php5, 因此新的PHP二进制可实行程序在/usr/local/php5/bin/php。

你也可以设置你的环境变量包含最新的php程序,比如,在~/.profile中加入如下代码:

export PATH=/usr/local/php5/bin:$PATH

为什么Europe/Zurich是默认的韶光?在哪里可以修正?

由于这个包的作者是位于Zurich (and Fribourg and Lausanne)。
以是默认的位置是这里。
在/usr/local/php5/php.d/99-liip-developer.ini 这个文件可以修正。

为什么不该用用我原有的php.ini配置

为了让我们推举的php.ini设置可以更大略的覆盖原有的php.ini设置,我们引入属于我们这个包的php.ini文件,位于/usr/local/php5/php.d/99-liip-developer.ini。

到目前为止,你该当知道这个文件会覆盖其它文件定义的值。
当然你也可以删除这个文件。

为什么mysql socket 配置文件会用/tmp/mysql.sock,如何改变?

如果你安装的mysql是从官方网站下载的标准包,那么/tmp/mysql.sock是mysql server默认天生的文件。
因此我们利用了默认的值,你可以不才面文件中进行修正:

sudo /usr/local/php5/bin/pecl install pecl_http

memcached守护进程在哪?

我们不在包换memcached守护进程,但是你可以自己安装:

sudo /usr/local/packager/packager.py install tools-memcached

其它

不支持32位系统其它

php.ini

php.ini 位于/usr/local/php5/lib/php.ini,其它的配置位于/usr/local/php5/php.d/。
这个php.ini是依据php.ini-development。

Liip php.ini

Liip的php.ini 位于/usr/local/php5/php.d/99-liip-developer.ini.。

重新安装到新目录

每次更新都会重新安装到一个新目录,你必须手动的去合并。

apc, twig and xslcache

apc, twig and xslcache 须要在 /usr/local/php5/php.d/50-extension-$name.ini文件中手动开启.

xdebug

xdebug须要在/usr/local/php5/php.d/50-extension-xdebug.ini文件中手动配置。

apache error with ulimit

如果你运行apache的时候碰着/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument这样的缺点信息,请查看:http://blog.deversus.com/2010/11/mac-os-1065-apachectl-usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/

手动安装(可选)

如果你不相信我们,你可以选择手动安装,运行如下代码:

curl -s -o /tmp/packager.tgz http://php-osx.liip.ch/packager/packager.tgz

sudo tar -C /usr/local -xzf /tmp/packager.tgz

sudo /usr/local/packager/packager.py install 5.4-frontenddev

如果你已经安装了packager,只是想更新php包,你可以运行如下代码:

sudo /usr/local/packager/packager.py install tools-frontenddev

包含的扩展

bcmath bz2 calendar Core ctype curl date dom dtrace ereg exif fileinfo filter ftp gd gettext hash iconv imap intl json ldap libxml mbstring mcrypt memcache memcached mhash mongo mssql mysql mysqli mysqlnd OAuth odbc openssl pcntl pcre PDO pdo_dblib pdo_mysql pdo_pgsql pdo_sqlite pgsql Phar posix Reflection session shmop SimpleXML soap sockets solr SPL SQLite sqlite3 standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xdebug xhprof xml xmlreader xmlrpc xmlwriter xsl zip zlib Xdebug包含的扩展

已安装但是没有开启:

available but disabled by default: apc, xslcache, twig, uploadprogress

可以通过phpinfo,理解更多。

卸载

修正/etc/apache2/httpd.conf

LoadModule php5_module /usr/local/php5/libphp5.so

为:

LoadModule php5_module libexec/apache2/libphp5.so

同时删除位于/etc/apache2/other的+php-osx.conf和+entropy-php.conf文件以及删除/usr/local/php5-全部文件。

重新安装

重新安装一个已近存在的包,必须要删除/usr/local/packager/registry.log中记录的版本信息。

sudo $EDITOR /usr/local/packager/registry.log

要重新删除全部包的记录信息可以删除这个文件:

sudo rm -rf /usr/local/packager/registry.log

来自:http://www.xiabin.me