mac升级之后 php 被自动升级,导致php环境破坏 所以 需要修复如下几点 1. sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include 注意红色的部分,如果你升级成mertricks 那么应该是10.10 如果你是最新的 yosemite 那么就是 10.0 如果执行这个命令报错,请先删除 /usr/include sudo rm /usr/include 2.修改php.ini 你会发...
背景: 最近两篇专栏博文讲解的都是有关WEB PACS环境的搭建,如果搭建的平台后端不进行DICOM的相关操作,其实跟PACS压根就一点关系也没有,所以最近几篇看似有些跑题,不过大家不要着急,开发环境的搭建本身就是一项巨大而且艰难的工程,等调试好环境后续的PACS相关开发就会如单机版一样得心应手,再忍耐一会,近期马上会开始介绍在平台上进行WEB PACS的研发。 C/C++编写PHP扩展的环境搭建: 上两篇博文只是对该环境的一个取巧的...
一次失败的PHP 扩展开发之旅 By warezhou 2014.11.19 缘起 经过不断的持续迭代,我们部门的协程版网络框架(CoSvrFrame)终于出炉了!这本来是件喜大普奔的事情,但是随着新业务的不断接入,很多固有缺陷也逐渐浮出水面: 不支持“TCP连接池” 不支持“Dispatcher-Workers模型” 不支持“过载保护” 不支持“热重启” 不支持“64Bit” ... ... 对于资深后台开发而言,上面罗列的问题大多数...
作者:zhanhailiang 日期:2014-12-08 1. 安装依赖GeoIP-devel,GeoIP GeoIP-devel.x86_64 : Development headers and libraries for GeoIPGeoIP.x86_64 : Library for country/city/organization to IP address or hostname mapping yum install GeoIP.x86_64 GeoIP-devel.x86_64 2. 配置IP数据库GeoIP.dat,GeoLiteCity.dat wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gzgunz...
方法一:compositeimages /** * function: 合成图片 * @param string $output_url 图片保存路径 * @param string $img_type 图片保存类型 * @param integral $line_num 每行显示图片数量 * @param array $logo_info 每张待合成图片的信息(要求所有尺寸统一) * @param array $img_list 待合成的图片绝对路径 * * @return void */ public functi...
本文参考:http://blog.csdn.net/taft/article/details/596291 如果你没写过php扩展,又是追求性能的极客,那么这篇文章肯定适合你: 假如你有这样一个php程序 function self_concat($string, $n){ $result = ""; for($i = 0; $i < $n; $i++){ $result .= $string; } return $result;}$str = self_concat(fire,10); 如果传入的第二个参数N很大,程序的性能如何?我在自己的机器上测试下如果 n=10000000...
本文由点点点细雨原创,禁止转载。 Memcache [root@localhost ~]# yum install libmemcached[root@localhost ~]# yum install memcached[root@localhost ~]# memcached -m 512 -u nobody -vvslab class 1: chunk size 96 perslab 10922slab class 2: chunk size 120 perslab 8738slab class 3: chunk size 152 perslab 6898slab class 4: chunk size 192 perslab 5461slab class ...
pdo_mysql是php中一个mysql连接类了,我们可以直接使用pdo_mysql来操作数据库这样自己可以不需要写数据库操作类了,下面来介绍在centos中安装pdo_mysql扩展的步骤。 本文内容是以 CentOS 为例,红帽系列的 Linux 方法应该都是如此,下面就详细说明步骤,在这里严重鄙视哪些内容??隆⑺档脑悠咴影说挠泄 PDO 编译安装的文章。 1、进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录) 如果还未...
有关PHP扩展开发的文章、博客已经很多了,比较经典的有: TIPI项目(http://www.php-internals.com/,强烈推荐) 《Extending and Embedding PHP》(中文翻译见http://www.walu.cc/phpbook/,强烈推荐) 《PHP核心技术与最佳实践》一书有一章专门讲PHP扩展开发的,不过版本较老,可供参考。 《PHP5权威指南》一书中也有一章专门讲到了PHP的扩展开发。 我准备在此系列博文中总结我有关PHP扩展开发的学习和感悟,力图简...
在开发扩展之前,最好了解下PHP内核的执行流程,PHP大概包括三个方面: SAPI Zend VM 内部扩展 Zend VM是PHP的虚拟机,与JVM类似,都是各自语言的编译/执行的核心。它们都会把各自的代码先编译为一种中间代码,PHP的通常叫opcode,Java通常叫bytecode,不同的是PHP的opcode直接被Zend VM的执行单元调用对应的C函数执行,不会显示保留下来(可以cache保留),而Java通常是生成class文件保留下来。而这一点可能也是PHP interpr...
php版本 5.4.27 系统 CentOS 6.3 64位 安装exif(exif_imagetype)扩展报错 参考资料:http://www.21ds.cn/64.html 步骤: 1.phpize(成功) 2../configure(成功) 3.make(报错 如下图) 各位大神帮忙看下是什么原因 回复讨论(解决方案) 你看编译的模块的路径,你是单独下载的exif模块的源码? 你直接在编译php的时候加上如手册描述的 --enable-exif http://php.com/manual/en/exif.installa...
下面介绍两种编译方式: 1、在已有的PHP上编译pthreads扩展 注:需要动态加载pthreads模块,之前在编译php时必须启用--enable-maintainer-zts;否则需要重新编译PHP。 pthreads源码包下载地址:http://pecl.php.com/package/pthreads tar xf pthreads-1.0.0.tgz cd pthreads-1.0.0 phpize ./configure --enable-pthreads --with-php-config=/usr/local/php/bin/php-config make && make install 2、重新编译PHP,...
phpssdb 是用 C 实现的 SSDB 的 PHP 扩展客户端。 示例代码: $ssdb_handle = new SSDB(); //可省略connect方法使用$ssdb_handle = new SSDB(127.0.0.1, 8888); $ssdb_handle->connect(127.0.0.1, 8888);$ssdb_handle->set(ssdb_version, 1.8.0);$ssdb_handle->get(ssdb_version); 本扩展支持的所有命令如果返回为NULL,代表可能的错误为命令参数错误、连接中断、服务器返回失败、客户端发送失败等 为兼容官方php代码实现...
linux系统中,php安装成功后,在bin目录下会生成一个名叫phpize的可执行脚本,这个脚本的用途是动态安装php扩展模块。 使用phpize脚本安装php扩展模块的好处:在安装php时没有安装的扩展,可以在以后随时安装上,且不需要重新安装PHP。 安装步骤: 1、切换到扩展模块目录 在php源码包被解压后的目录中有个ext子目录,这里有近70多个主流的php扩展模块安装包。 如现在要安装imap扩展,则切换到imap目录: cd /softwa...
我们在开发过程中,为了代码得可读性和易维护性,肯定是需要多个代码文件的,而不仅仅是通过 ext_skel 生成得骨架文件。这篇文章主要介绍下,多个代码文件的时候,我们需要注意什么,以及怎么做。 我的代码文件如下(slash为我的扩展名) // ext_skel 生成默认得模块相关的主要文件php_slash.h // 头文件slash.c // 源码文件config.m4 // 编译的时候需要修改的文件 在这个默认生成的骨架文件里面,我们只要执行下面几步,就可...