php5.3安装libmemcached 扩展方法与简单实例
基于libmemcached的php memcache client有很多优势
•hash一致性存储
•multi get/set
•自动把key hash 为int,避开了memcache key字符串默认小于255Byte的限制
好久没有配置服务器,一直以为libmemcached的php memcached 已经纳入基本安装包了,到头来还需要自己编译.整个安装过程很多暗坑,尝试了几次才成功
安装分两步
•安装libmemcached,目标是so和header文件
•安装memcachedphp extensions
libmemcaced 分为两大版本0.x和1.x, 1.x的版本从2011-09-28开始,编译很麻烦,需要gcc4.0以上的专门配置,compile无比慢. 0.x版本就简单很多,最高版本是0.53,所以选择安装0.53
极品总是成对出现,php的memcahed也从2.1.0开始,要求libmemcached 必须是1.0.x版本
libmemcaced我用的0.53,那php-memcahed 就选择2.0.0. 开源软件的版本维护是一团烂帐
安装libmemcached
代码如下 | 复制代码 |
wget https://launchpad.net/libmemcached/1.0/0.53/+download/libmemcached-0.53.tar.gz tar xvfz libmemcached-0.53.tar.gz cd libmemcached-0.53 ./configure --prefix=/opt/libmemcached make && make install |
安装php扩展
代码如下 | 复制代码 |
wget http://pecl.php.net/get/memcached-2.0.0.tgz |
make install 是 把memcached.so 安装到 ${php install dir}/extensions/no-debug-non-zts-20090626/,这个目录随着php的版本不同而不同
最后一步,修改php.ini,加上 extension=memcached.so
与面我们己安装好了来看看简单的实例
代码如下 | 复制代码 |
编译:g++ -o testmemcached testmemcached.cpp -lmemcached |
注意事项
需要注意的是, libmemcached 不是 libmemcache ,它们是两个不同的客户端库,前者现在的开发比较活跃,后者已经有很长时间没有更新了。
memcached 是一个高性能、分布式的内存对象缓存系统,通过内存的数据缓存来降低对数据库的访问,从而提高动态内容应用网站的速度。memcached 官方开发释放出来的,只是应用的服务器端程序,它发布了服务器端的连接读写协议,客户端的实现,则根据动态内容应用网站使用的动态脚本的不同,而有多种,具体列表,可查看官方网站。
xdebug是一个php代码执行高度工具,它可以很好的测试我们的php代码各个阶段的性能,这样我们可以及时的进行数代码优化了,下面我来给大家从配置xdebug与xdebug调试技巧。windows xdebug配置安装
1. 下载Xdebug
下载地址:http://xdebug.org/download.php
最新版本是2.1.2,版本很多,有32位和64位的区别,VC6和VC9的区别,以及线程安全与否的区别
把<?PHP phpinfo(); ?>保存到test.php,保存的服务器目录,通过浏览器打开。在最前面的Info中找到Compiler(没有的话是VC6的)、Architecture(没有话看Configure Command的值)和Thread Safety。如下图,应该下载32位VC9线程安全的(PHP 5.3 VC9 TS (32 bit))
2. 安装Xdebug
如果你已经配置好PHP,把下载好的文件改名为php_xdebug.dll(不改也没关系,只是为了好看),放下PHP安装目录的ext文件夹。
3. 配置Xdebug
Xdebug的配置项目很多,我只了解很少的一部分,所以只说说常用的。修改PHP安装目录的php.ini文件,在文件最后插入以下代码:
[Xdebug]
代码如下 | 复制代码 |
zend_extension="E:APMServPHPextphp_xdebug.dll" xdebug.auto_trace=On xdebug.profiler_enable=on xdebug.trace_output_dir="E:APMServxdebug" xdebug.profiler_output_dir="E:APMServxdebug" ;最大递归数 xdebug.max_nesting_level=100 ;重写var_dump() xdebug.overload_var_dump = On ;当这个参数被设置为1时,即使捕捉到异常,xdebug仍将强制执行异常跟踪当一个异常出现时 xdebug.show_exception_trace=1
xdebug.show_local_vars = 1
xdebug.collect_return=On xdebug.collect_vars=On xdebug.dump_undefined=On xdebug.profiler_enable_trigger=On
;允许远程连接 xdebug.remote_enable=true ;允许远程连接的zs IDE的ip地址 xdebug.remote_host=192.168.0.51 ;zendstudio 设定的端口 xdebug.remote_port=9000 ;zendstudio 的应用层通信协议 xdebug.remote_handler=dbgp xdebug.extended_info="1" |
因为我不希望有Log文件(因为那个文件增长很快,不两天有一两G了),所以把trace_output_dir和profiler_output_dir注释掉了,要注意的是Xdebug不会自动建目录的,必须保证设置的目录是实际存在的。至于其它的几个,都是默认值,所以注掉了,因为可能会改,所以列出来了。现在刷新一下phpinfo()的页面,应该就能看到Xdebug的信息了。
linux xdebug配置安装
xdebug是php的一个module,需要编译安装,我用lnmp安装的php,php被默认安装到/usr/local/php,然后做一个硬链接到/usr/bin
先编译xdebug
代码如下 | 复制代码 |
wget http://www.xdebug.org/files/xdebug-2.2.3.tgz |
修改php.ini配置
把下面这些加入
代码如下 | 复制代码 |
;no-debug-non-zts-20090626 这个文件夹名称和php版本是一一对应的 zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" xdebug.default_enable = On xdebug.dump_once = On |
重启php-fpm,随便写段错误的php代码,刷新浏览器,就能看到错误提示
本文章来给大家详细介绍关于mac php netbeans xdebug 配置方法详解,希望此教程对各位同学有所帮助哦。PHP 配置
/opt/local/var/db/php5/xdebug.ini
代码如下 | 复制代码 |
zend_extension=/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so |
1 output_buffering = Off
重启服务器
NetBeans配置
command + , – 选择php标签页
在常规标签中填写
PHP 5 解释器:/opt/local/bin/php(php文件的位置)
调试标签中填写
调试器端口:9000
会话ID:netbeans-xdebug
其他配置根据需要更改
为什么要使用phpstorm
PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
phpstorm主题词安装与配置
OSX
On Finder, navigate to the location where you downloaded the XML and copy it. Then press shift+command+g and go to:
~/Library/Preferences/WebIDE10/colors/Starting from version 4 the location changed to:
~/Library/Preferences/WebIde40/colors/~/Library/Preferences/WebIde50/config/colors/Paste the .xml file in and restart your IDE. Then navigate to Settings > Editor > Colors & Fonts and select the color scheme you just added.
Windows
On Windows Explorer, select the XML file just downloaded and copy it. Then navigate to the colors folder, located in:
c:/Users/USERNAME/.WebIde10/config/colorsPaste the .xml file in and restart your IDE. Then navigate to File > Settings > Editor > Colors & Fonts and select the color scheme you just added.
Linux
On Linux, the color files are located in:
~/.WebIde50/config/colors/
After you put your .xml files, restart your IDE. Then navigate to File > Settings > Editor > Colors & Fonts and select the color scheme you just added.
本文章来给大家介绍PHPstorm中xdebug安装配置说明,这也不是我头一次配置PHPstorm,下面把经验分享给各位。
配xdebug已经不是第一次了,但配phpstorm的xdebug还是头一次(自认纠错能力还是挺强的,再加上对框架的熟悉程度很能快,知道问题文件所在位置直接修复代码,就没必要去用xdebug+IDE调试找问题了)。从4月份参加新工作以来一直没时间折腾IDE层面上的东西,今天终于有点空余的时间可以自由发挥下了~
由于安装和配置xdebug是老生常谈的话题,这里就不再叙述安装xdebug的方式和过程,仅针对phpstorm要求的php.ini讲解下xdebug部分的配置要求。
php.ini配置
"[xdebug]
zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so”
xdebug.idekey=”PHPSTORM”
xdebug.remote_host=127.0.0.1
xdebug.remote_enable=on
xdebug.remote_port = 9000
xdebug.remote_handler = “dbgp”
xdebug.auto_trace = 1
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.collect_assignments = 1
xdebug.collect_vars = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.show_local_vars = 1
xdebug.show_exception_trace = 0
"关于 xdebug.so 如何配置,Xdebug 文档中有说明:
"Configure PHP to Use Xdebug
add the following line to php.ini: zend_extension=”/wherever/you/put/it/xdebug.so” (for non-threaded use of PHP, for example the CLI, CGI or Apache 1.3 module) or: zend_extension_ts=”/wherever/you/put/it/xdebug.so” (for threaded usage of PHP, for example the Apache 2 work MPM or the the ISAPI module). Note: In case you compiled PHP yourself and used –enable-debug you would have to use zend_extension_debug=. From PHP 5.3 onwards, you always need to use the zend_extension PHP.ini setting name, and not zend_extension_ts, nor zend_extension_debug. However, your compile options (ZTS/normal build; debug/non-debug) still need to match with what PHP is using.
Restart your webserver.
Write a PHP page that calls ‘phpinfo()’ Load it in a browser and look for the info on the Xdebug module. If you see it next to the Zend logo, you have been successful! You can also use ‘php -m’ if you have a command line version of PHP, it lists all loaded modules. Xdebug should appear twice there (once under ‘PHP Modules’ and once under ‘Zend Modules’).
"其中使用 zend_extension_ts 还是 zend_extension 还是神马神马,与 PHP 版本有关,仔细看上面的说明。
重启下 Web Server(Apache / Nginx),使用 phpinfo() 页面或命令行工具,确认模块安装完成。
phpstorm配置
我用的是phpstorm5.0.4,即便是更低版本也没关系,本教程所讲述的配置方式在4.0~5.+版本中是通用的。
1.File>Settings,PHP | Server:点击+符号,Name一栏输入你给服务器指定的名称,Host一栏输入调试服务器的地址,无需“http://”开头。Port一栏输入服务器的商品(通常为默认值80),Debugger一栏选择Xebug。
Debugger一栏选择Xebug。
2.File>Settings,PHP | Debug,在Xdebug标签框内,根据服务器端的Xdebug端口,配置Debug port,并根据需要配置其它参数。
3.点击 Use debugger bookmarklets to initiate debugging from your favorite browser,在系统的默认浏览器中配置debugger书签。
4.默认浏览器被打开,并进入http://www.jetbrains.com/phpstorm/marklets/,修改Xebug一栏下的Ide key,默认为PHPSTORM。
5.点击Xdebug一栏中的Generate按钮,在浏览器的书签中添加Xdebug组,其中有Xdebugger的各个项。
6.回到PHPStorm,在settings对话框中的 PHP | Debug | Xdebug Proxy中,将第五步中指定的Ide key添入,并配置代理主机及代理端口。
到此,已经可以使用“监听”功能了。 只 要在访问指定的调试服务器上的应用程序时,先在PHPStorm中点击 Start Listen PHP Debug connection按钮,启动对调试端口的监听;
点击浏览器书签中的xdebug Start Session,开启debug功能,再点击xdebug this page、xdebug break on、xdebug break off等,即可调用PHP Storm,对程序进行调试,增删断点、显示当前状态下变量和表达式的值,非常的方便。
另外针对框架/项目的调试方式需要在以上配置基础上,再进行一些配置:
1.点击菜单里的 Run – Edit Configurations选项。
2.在弹出的对话框中,依图配置:
3.如图所示:点击 “添加” 按钮,选择 PHP Web Application,并在右侧输入配置名称,选择我们刚刚添加的 Server,Start URL 中填写调试可能所需的查询字符串,选择好默认浏览器,最后点击 Apply 和 OK,确认配置。
4.然后,还有一步:
在程序中设置好断点;
在工具栏中,选择好要调试的应用;
点击 Start Listen PHP Debug Connections 按钮,即那个红色的电话按钮,让其变成绿色,即开始监听 PHP Debug 连接;
于是,终于可以开始了。
点击上图中的 Debug 按钮,或者从菜单中选择 Run – Debug,你就开始了 Debug 之旅…
其他说明
根据断点配置,或在打开 Debug URL 的过程中,或在 POST 之后,如果 PhpStorm 监听到了 Debug 连接,就会立即切换到编辑器界面,并跳转到设置的断点处,浏览器端会等待 PhpStorm 的操作。
你可以随时中断 PhpStorm 的调试,或方便的进行 Step Into / Step Over / Run to cursor(这个刁爆了):
熟悉 Java 的童鞋会对这个界面感到亲切,吼吼。
哎呀,不想调试了,PhpStorm 却总是跳出来?记得刚刚那个电话按钮嘛,再点一下,让其变成红色,就好了。
先到这里,嗯哼。自己捣鼓捣鼓吧
相关文章
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
- javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
连接MySql速度慢的解决方法(skip-name-resolve)
最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21- 本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
- EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if...2013-09-23
- mysql锁定单个表的方法 复制代码 代码如下:mysql>lock table userstat read; mysql>unlock tables; 页级的典型代表引擎为BDB。 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。 行级的典型代表引擎为INN...2014-05-31