MAC安装PHP扩展之MEMCACHE的例子

 更新时间:2016年11月25日 15:27  点击:1574
下面我们来看一篇关于MAC安装PHP扩展之MEMCACHE的例子,希望这篇教程可以帮助到各位朋友的哦。

在执行phpize的时候,出现错误提示
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
1.由于/usr/include目录不存在,所以需要执行命令
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/ /usr/include
2.系统没有安装autoconf所以需要安装之,此项可参考http://blog.wwllcchf.com/?p=260
安装php扩展还可以按照以下方法
为了扩展管理方便,首先来安装pecl扩展管理器:
cd /usr/lib/php
sudo php install-pear-nozlib.phar
安装Redis、Memcache、Mongo等扩展。
sudo pecl install redis
sudo pecl install memcache
sudo pecl install mongo
sudo pecl install xdebug
将扩展配置添加的php.ini文件中:
extension=memcache.so
extension=mongo.so
extension=redis.so
zend_extension=xdebug.so
安装xcache,从官网下载Release-3.2.0解压缩并安装
tar xvf xcache-3.2.0.tar
cd xcache-3.2.0
phpize
/configure
make
sudo make install
配置XCache
[xcache]
xcache.size = 128M
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.optimizer = Off
由于Mac自带的PHP环境是不包括mcrypt扩展的,所以需要下载同版本的php源码包,单独编译这个模块加载。从官网的归档里面找到php5.5.14的源码包,下载:http://php.net/releases/
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt/
phpize
。/configure
make
sudo make install
配置ext-mcrypt
extension=mcrypt.so
为了加速,还需要打开opcache。
zend_extension=opcache.so
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0

PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的),但如果没有安装opcache的话可以和小编一起来看看PHP 7安装和开启opcache的教程,希望文章能够帮助到大家哦。


鸟哥在博客中说,提高PHP 7性能的几个tips,第一条就是开启opache,引用下原文:

记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情

我的阿里云服务器是通过一个叫remi的centos源提供的PHP 7,默认没装opcache,用yum list yum70*命令搜索一下,果然有,于是install下来:

yum install php70-php-opcache.x86_64

然后重启php-fpm,使用service php70-php-fpm restart命令。(不同的系统和环境根据自己的情况安装和开启opache)

opcache

新建一个php文件,用phpinfo()函数显示php.ini信息,如果可以找到OPcache项,说明成功启用了。安装和启用PHP 7,就是给PHP 7再加一个翅膀!

PHP7在windows环境中安装已经不像低版本的php了它需要安装其它的一些插件才可以正常的运行了,下面我们来看一篇关于Windows服务器安装配置PHP7.0环境图文教程了,希望对各位有帮助。

在Windows环境下载及配置PHP7.0,2015年9月可下载PHP5.4至7.0,这次使用最新PHP版本7.0。而「PHP 7.0.0 RC 1」、「PHP 7.0.0 RC 2」是属于开发当中的版本,在生产环境使用需注意,稳定版是PHP5.6.13。

确认Microsoft Visual C++版本

Microsoft Visual C++的版本至关重要,根据Microsoft Visual C++版本下载的PHP不同。

PHP官网的左侧栏有以下注释。

VC9, VC11 & VC14
More recent versions of PHP are built with VC9, VC11 or VC14 (Visual Studio 2008, 2012 or 2015 compiler respectively) and include improvements in performance and stability.
– The VC9 builds require you to have the Visual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64 installed
– The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed
– The VC14 builds require to have the Visual C++ Redistributable for Visual Studio 2015 x86 or x64 installed
根据Microsoft Visual C++版本选择下载的PHP版本。

VC9:Microsoft Visual C++ 2008
VC11:Microsoft Visual C++ 2012
VC14:Microsoft Visual C++ 2015

点击「开始」->「控制面板」>->「卸载程序」,可以查看到现在的Microsoft Visual C++的版本。


MicrosoftVisual

Microsoft Visual C++版本是2015,因此必须选择VC14开始的PHP文件。

下载PHP7.0

从以下PHP官网进行下载。

  • http://www.php.net/
PHP7.0.0RC2Released

「PHP 7.0.0 RC 2」处写着「Windows source and binaries can be found on windows.php.net/qa/」。

WindowsPHPNet-QA

下载源码访问如下URL。
  • http://windows.php.net/qa/
DownLoad-PHP7.0

PHP7.0(7.0.0RC2)的32位有「VC14 x86 Non Thread Safe」、「VC14 x86 Thread Safe」,64位有「VC14 x64 Non Thread Safe」、「VC14 x64 Thread Safe」。这次使用环境是Windows Server2008 64位因此选择下载64位的「VC14 x64 Thread Safe」,大家根据自己的实际环境选择下载的源文件(下载之前再次提醒大家注意VC9、VC11、VC14是根据Windows环境的Microsoft Visual C++版本选择,如果Microsoft Visual C++ 2012的话,就不可以下载VC14的PHP文件。)。

重要的是在左侧栏,有以下注意事项。

IIS
If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
Apache
Please use the Apache builds provided by Apache Lounge. They provide VC9, VC11 and VC14 builds of Apache for x86 and x64. We use their binaries to build the Apache SAPIs.
If you are using PHP as module with Apache builds from apache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org binaries.
With Apache you have to use the Thread Safe (TS) versions of PHP.
这次是在以Apache为Web服务器的环境下使用PHP。Apache可在Apache Lounge进行下载(具体的下载方法参照下载Apache2.4.16,安装方法参照安装Apache2.4.16)。
PHP有「Non Thread Safe」、「Thread Safe」版本,在这里使用「Thread Safe」版本。

点击「VC14 x64 Thread Safe (2015-Sep-04 02:40:39)」的Zip。

DownLoad-VC14 x64 Thread Safe

点击「保存」下载到任意的目录下,就完成PHP的下载步骤了。

SavePHP7.0

安装PHP7.0

接着来进行PHP的安装步骤。把下载的文件解压以后,存放到任意的目录下就完成安装了。这次安装到「C:\MiddleWare\PHP」。

PHP7.0

运行PHP所需的所有文件都在该目录下。

1) 添加PHP模块

首先确认PHP模块的路径。

php7apache2_4

在「httpd.conf」文件,寻找「Dynamic Shared Object (DSO) Support」的部分。默认是在61行附近。
并在最后追加如下一行。
LoadModule php7_module C:/MiddleWare/PHP/php7apache2_4.dll
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
・・・
・・・
#LoadModule xml2enc_module modules/mod_xml2enc.so
LoadModule php7_module C:/MiddleWare/PHP/php7apache2_4.dll
追加以上配置以后Apache启动时,会读取PHP模块。

2) 登录扩展名

把PHP的扩展名(.php)和PHP关联起来。例如访问「http://www.example.com/sample.php」时,返回给浏览器的不是sample.php的内容,而是sample.php记载的PHP脚本的执行结果。

在「httpd.conf」文件里搜索「AddType」。默认是在404行附近,并追加如下2行。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
  AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
・・・
・・・
</IfModule>
追加以上2行之后当访问扩展名为.php文件时,PHP程序会进行处理。

3) 指定php.ini配置文件路径(PHPIniDir)

首先确认存放php.ini文件目录。

phpini
在「httpd.conf」文件里指定PHP配置文件php.ini的目录,在这里添加到「httpd.conf」文件的最后。
PHPIniDir “c:/MiddleWare/PHP”
Apache会参照PHPIniDir目录下的php.ini文件。

4) 确认PHP运行情况

PHP相关的Apache配置已经完成。在这里作一个简单的PHP脚本文件确认配置是否正确。变更配置文件之后别忘了重启Apache。

打开文本编辑器,追加如下内容。
<?php
phpinfo();
?>

文静名为「phpinfo.php」,保存到Apache的htdocs目录下。

phpinfo

打开浏览器输入「http://localhost/phpinfo.php」。如以下页面显示PHP相关信息的话,Apache可以正常调用PHP了。

phpinof


好了以上就是关于Windows服务器安装配置PHP7.0环境图文教程了,这里介绍了安装那个版本的插件可以支持php 7正常在windows中运行了。

Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上--enable-opcache就行了。但也支持低版本的PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持


Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具。现在,Zend 科技公司将 Optimizer+ 在 PHP License 下开源成为 Zend Opcache。

Zend OPcache 通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从
磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。


官方网站:http://pecl.php.net/package/ZendOpcache

依次执行下面的命令

wget http://pecl.php.net/get/zendopcache-7.0.3.tgz
tar xzf zendopcache-7.0.3.tgz
cd zendopcache-7.0.3
phpize
###如果找不到phpize 的话自己找PHP路径,我的在/usr/local/php/bin/phpize,下面这行也要按你的php.ini路径自行修改
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

如果显示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安装完成,下面要修改php的配置文件让它生效

2、启用Zend Opcache

注:如果使用Windows开发环境,或者使用brew或apt-get等命令安装的PHP可以略过编译步骤。
默认情况下,Zend Opcache没有开启,需要我们在编译时使用--enable-opcache指定启用Zend Opcache。

编译好PHP后还需要在php.ini中指定Opcache扩展路径:

zend_extension=/path/to/opcache.so

一般而言PHP编译成功后会显示Zend Opcache扩展路径,但如果想不起来,可以使用如下命令找到PHP扩展所在目录:

php-config --extension-dir

注:如果你使用Xdebug,需要在php.ini中先加载Zend Opcache,再加载Xdebug。
更新php.ini后重启PHP进程并查看是否启用成功:

php-zendopcache

3、配置Zend Opcache

启用Zend Opcache后还需要在php.ini中配置Zend Opcache,下面是一份配置示例作为参考:

opcache.validate_timestamps=1    //生产环境中配置为0
opcache.revalidate_freq=0    //检查脚本时间戳是否有更新时间
opcache.memory_consumption=64    //Opcache的共享内存大小,以M为单位
opcache.interned_strings_buffer=16    //用来存储临时字符串的内存大小,以M为单位
opcache.max_accelerated_files=4000    //Opcache哈希表可以存储的脚本文件数量上限
opcache.fast_shutdown=1         //使用快速停止续发事件
注:后续我们还会进一步介绍Zend Opcache的配置,PHP官网中列出了Zend Opcache的全部设置:http://ua2.php.net/manual/zh/opcache.configuration.php。

4、使用Zend Opcache

Zend Opcache使用起来很简单,因为启用之后它会自动运行,Zend Opcache会自动在内存中缓存预先编译好的PHP字节码,如果缓存了某个文件的字节码,就执行对应的字节码。

如果php.ini中配置了opcache.validate_timestamps值为0,需要小心,因为Zend Opcache将不能觉察PHP脚本的变化,必须手动清空Zend OPcache缓存的字节码,才能让它发现PHP文件的变动。这个配置适合在生产环境中设置为0,但在开发环境会带来不便,我们可以在开发环境中这样配置启用自动验证缓存功能:

opcache.validate_timestamps=1
opcache.revalidate_freq=0

[!--infotagslink--]

相关文章

  • PHP添加MongoDB扩展实例教程

    由于要使用mikoomi mongodb plugin插件,所以需要php对mongodb的扩展支持,默认通过源安装的php并没有mongodb的扩展支持,具体可以通过php -m|grep mongo 验证 。这里就结...2016-11-25
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • PHP分布式框架如何使用Memcache同步SESSION教程

    本教程主要讲解PHP项目如何用实现memcache分布式,配置使用memcache存储session数据,以及memcache的SESSION数据如何同步。 至于Memcache的安装配置,我们就不讲了,以前...2016-11-25
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • PHP扩展开发教程(总结)

    PHP是一种解释型的语言,对于用户而言,我们精心的控制内存意味着easier prototyping和更少的崩溃!当我们深入到内核之后,所有的安全防线都已经被越过,最终还是要依赖于真正有责任心的软件工程师来保证系统的稳定运行。1、线...2015-11-08
  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    这篇文章主要介绍了Ubuntu20.04安装cuda10.1的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-30
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • 浅谈Vue开发人员的7个最好的VSCode扩展

    这篇文章主要介绍了浅谈Vue开发人员的7个最好的VSCode扩展,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • uni-app从安装到卸载的入门教程

    这篇文章主要介绍了uni-app从安装到卸载的入门教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-15
  • vs2019安装和使用详细图文教程

    这篇文章主要介绍了vs2019安装和使用详细图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25