PHP扩展--vld查看opcode代码

vld安装wgethttp://pecl.php.net/get/vld-0.13.0.tgztarzxvfvld-0.13.0.tgzcdvld-0.13.0/usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-config--enable-vldmake&&makeinstall配置php.iniextension=vld.so运行结果来自为知笔记(Wiz) ...

PHP扩展--Oracle客户端(oci8)安装

下载Oracle客户端官方下载地址:LinuxX86-64同意协议,下载以下文件:oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm安装rpm-ivhoracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmrpm-ivhoracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpmbasic默认安装在/usr/lib/oracle/下devel默认安装在/usr/include/oracle/下安装PHP扩展cdphp-5.3.3/ext/oci8phpizeexportLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/:$LD_LIBRARY_PATHexportORACLE_HOME="/usr/lib/oracle/11.2/client64/"exportCFLAGS="-I/...

PHP扩展--Suhosin保护PHP应用系统

Suhosin是一个PHP程序的保护系统。它的设计初衷是为了保护服务器和用户抵御PHP程序和PHP核心中,已知或者未知的缺陷。Suhosin有两个独立的部分,使用时可以分开使用或者联合使用。第一部分是一个用于PHP核心的补丁,它能抵御缓冲区溢出或者格式化串的弱点;第二部分是一个强大的PHP扩展,包含其他所有的保护措施。下载安装补丁##高版本不需要,折中选择是否打补丁wgethttp://download.suhosin.org/suhosin-patch-5.3.3-0.9.10.patch.gzgunzipsuhosin-patch-5.3.3-0.9.10.patch.gzcdphp-5.3.3/patch-p1-i../suhosin-patch-5.3.3-0.9.10.patch./configure--with-php-config=/usr/local/bin/php-configmakemakeinstall安装扩展wgethttp://download.suhosin.org/suhosin-0.9.37.1.tar.gztarzxvfsuhosin-0.9.37.1...

PHP扩展--Yaf框架安装

安装/配置编译安装wgethttp://pecl.php.net/get/yaf-2.3.5.tgztar-zxvfyaf-2.3.5.tgzcdyaf-2.3.5/cdextension//usr/local/php-5.3.3/bin/phpize./configure--with-php-config=/usr/local/php-5.3.3/bin/php-configmakemakeinstall修改php.ini文件[yaf]extension=yaf.soyaf.environ=developyaf.library=/home/www/public_html/libraryyaf.cache_config=0yaf.forward_limit=5以上完成后重启apache,可以看到yaf扩展如果出现报错/usr/include/php/ext/pcre/php_pcre.h:29:18:error:pcre.h:Nosuchfileordirectory安装下pear再重新编译yuminstallpcre-develmakeclean来自为知笔记(Wiz)...

PHP扩展--APC缓存安装与使用

apc安装wgethttp://pecl.php.net/get/APC-3.1.13.tgztarzxvfAPC-3.1.13.tgzcdAPC-3.1.13/usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmake&&makeinstall来自为知笔记(Wiz)...

Php扩展--protocolbuffers消息打包

安装/配置编译安装wgethttp://pecl.php.net/get/protocolbuffers-0.2.6.tgztar-zxvfprotocolbuffers-0.2.6.tgzcdprotocolbuffers-0.2.6//usr/local/php-5.3.3/bin/phpize./configure--with-php-config=/usr/local/php-5.3.3/bin/php-configmakemakeinstall修改php.ini文件[protocolbuffers]extension=protocolbuffers.so以上完成后重启apache,可以看到protocolbuffers扩展来自为知笔记(Wiz)...

Php扩展--seasLog日志扩展安装

安装/配置编译安装wgethttp://pecl.php.net/get/SeasLog-1.4.4.tgztar-zxvfSeasLog-1.4.4.tgzcdSeasLog-1.4.4/cdextension//usr/local/php-5.3.3/bin/phpize./configure--with-php-config=/usr/local/php-5.3.3/bin/php-configmakemakeinstall修改php.ini文件[seaslog]extension=seaslog.soseaslog.default_basepath=/tmp/logseaslog.default_logger=php_seaslogseaslog.disting_type=1seaslog.disting_by_hour=0seaslog.use_buffer=0seaslog.buffer_size=100seaslog.level=0seaslog.trace_error=1seaslog.trace_exception=1以上完成后重启apache,可以看到seaslog...

PHP系统编程--03.PHP进程信号处理

PHP的pcntl扩展提供了信号处理的功能,利用它可以让PHP来接管信号的处理,在开发服务器端守护进程方面,信号处理至关重要。函数原型boolpcntl_signal(int$signo,callback$handler[,bool$restart_syscalls=true])第一个参数是信号ID第二个参数是信号发生时回调的PHP函数。第三个参数是是否restart,是否重新注册此信号。这个参数如果为false,那此信号只注册处理一次。pcntl_signal的实现<?php//信号处理需要注册ticks才能生效,这里务必注意//PHP5.4以上版本就不再依赖ticks了declare(ticks=1);functionsig_handler($signo){switch($signo){caseSIGUSR1:echo"SIGUSR1";break;caseSIGUSR2:echo"SIGUSR2";break;default:echo"unknow";break;}}//安装信号触发器器pcntl_signal(SIGUSR1,"sig_handler");pcntl_si...

PHP系统编程--01.多进程与多线程

PHP中提供了一个扩展pcntl,可以利用操作系统的fork调用来实现多进程。fork调用后执行的代码将是并行的。PHP官方没有提供多线程的扩展,pecl中有一个pthreads扩展提供了多线程的特性,地址是http://pecl.php.net/package/pthreads,此扩展仅在线程安全版本中可用。多进程使用多进程,子进程结束以后,内核会负责回收资源使用多进程,子进程异常退出不会导致整个进程Thread退出.父进程还有机会重建流程.一个常驻主进程,只负责任务分发,逻辑更清楚.多进程方式更加稳定,另外利用进程间通信(IPC)也可以实现数据共享。共享内存,这种方式和线程间读写变量是一样的,需要加锁,会有同步、死锁问题。消息队列,可以采用多个子进程抢队列模式,性能很好多线程线程是在同一个进程内的,可以共享内存变量实现线程间通信线程比进程更轻量级,开很大量进程会比线程消耗更多系统资源多线程也存在一些问题:线程读写变量存在同步问题,需要加锁锁的粒度过大存在性能问题,可能会导致只有1个线程在运行,其他线程都在等待锁同时使用多个锁,逻辑复杂,一旦某个锁没被正确释放,可能会发生线程死锁某个...

PHP系统编程--02.PHP守护进程

什么是守护进程?一个守护进程通常补认为是一个不对终端进行控制的后台任务。它有三个很显著的特征:在后台运行,与启动他的进程脱离,无须控制终端。常用的实现方式是fork()->setsid()->fork()在glibc里有一个函数daemon。调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见mandaemon。PHP中暂时没有此函数,PHP程序实现守护进程化有2种方法:使用系统命令nohupnohupphpmyprog.php>log.txt&&,这样执行程序虽然也是转为后台运行,但实际上是依赖终端的,当用户退出终端时进程就会被杀掉。需要使用nohup来实现PHP脚本函数实现:<?phpfunctiondaemon(){$pid=pcntl_fork();if($pid<0){die("fork(1)failed!");}elseif($pid>0){exit;//让终端启动的进程退出}chdir("/");//改变当前目录为根目录umask(0);//重设文件权限掩码//建立一个有别于终端的新session以脱离终端$...

Ubuntu12.04 安装LAMP及phpmyadmin

1.安装Apacheapt-getinstallapache22.安装PHP5apt-getinstallphp5libapache2-mod-php53.安装MySQLapt-getinstallmysql-server在安装的时候,如果要求你输入Mysql密码,则输入密码。如果没有要求,则执行下一步。在终端中输入下面命令。mysql-urootmysql>SETPASSWORDFOR'root'@'localhost'=PASSWORD('yourpassword');3.安装MySQL扩展和phpmyadminsudoapt-getinstalllibapache2-mod-auth-mysqlphp5-mysqlphpmyadmincp/etc/phpmyadmin/apache.conf/etc/apache2/sites-enabled/phpmyadmin4.开启rewrite模块sudoa2enmodrewrite5.重启APACHEsudo/etc/init.d/apache2restart 以下是全部脚本##升级软件源apt-getupdate##安...

【laravel5.4】php artisan migrate报错:Specified key was too long; max key length is 767 bytes

1、原因:在进行迁移文件生成时,程序并未给varchar类型字段设置合适的长度,导致报错。2、解决办法:找到database/目标迁移文件,修改其中类型为string的字段长度,建议不要超过255,否则报错【然后再次运行phpartisanmigrate即可成功】 示例: MySQL:ERROR1071(42000):Specifiedkeywastoolong;maxkeylengthis767bytes今天测试遇到了这样的问题:MySQL>usetest;createtabletest(avarchar(512)primarykey,bvarchar(1024));DatabasechangedERROR1071(42000):Specifiedkeywastoolong;maxkeylengthis767bytes相关测试:http://kklinux.com/bbs/archiver/tid-2543.htmldroptableifexiststest;createtabletest(testvarchar(767)primarykey)charset...

laravel5.4】git上clone项目到本地,配置和运行 项目报错:../vendor/aotuload.php不存在

1、一般我们直接使用gitclone将git的项目克隆下来,在本地git库和云上git库建立关联关系2、vendor【扩展】文件夹是不会上传的,那么下载下来直接运行项目,会报错:D:phpStudy/WWW/crm/public/../vendor/aotuload.php不存在3、我们需要cd到项目的根目录,不是public目录哦,运行composerinstall安装对应的扩展配置组件4、再次运行,可能会报:encrypter类不存在,那是因为key没有生成,再次运行:phpartisankey:generate即可。...

【centos6+7】安装redis + phpredis 以及 常用配置参数

1、redis-server和redis-cli安装文章:http://www.cnblogs.com/skyessay/p/6429988.html/------------这里是redis服务器安装start----------------------/1、前置条件:查看是否安装gcc,命令:gcc-v,没有gcc执行yuminstall-ygcc2、编译安装redis:redis下载地址:http://download.redis.io/releases/3、下载好的redis压缩包传到linxu系统中,进行解压.tarzxvfredis-5.0.3.tar.gzcd redis-5.0.3      //进入解压目录(这一步很重要)4、编译安装,执行命令make#执行命令[root@localhostredis-5.0.3]#make #出现以下信息则表示安装完成Hint:It'sagoodideatorun'maketest';)make[1]:Leavingdirectory`/usr/redis/redis-5.0.3/src'5、执行maketest...

【laravel5.4】laravel5.4系列之生成_ide_helper.php文件

在laravle中使用代码自动补全,比较方便开发,于是这边找到了相关的办法在laravel配置完好的情况下,同时安装好了composer。 进入代码的根目录执行composerrequirebarryvdh/laravel-ide-helper然后在config/app.php的providers中添加BarryvdhLaravelIdeHelperIdeHelperServiceProvider::class,然后执行以下命令:phpartisanclear-compiledphpartisanide-helper:generatephpartisanoptimize查看项目根目录是否生成了_ide_helper.php,生成了表面此时支持代码补全功能了。...
首页上一页...274275276277278...下一页尾页