Press "Enter" to skip to content

Tag: PHP

PHP运行模式

PHP有5种运行模式,常见的有4种: 1. cgi 协议模式 cgi模式:通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信 调用原理大概为:用户请求 -> Web服务器接收请求 -> fork子进程调用程序/执行程序 -> 程序返回内容/程序调用结束 -> web服务器接收内容 -> 返回给用户 由于每次用户请求,都得fork创建进程调用一次程序,然后销毁进程,所以性能较低 2. fast-cgi 协议模式 fast-cgi是cgi模式的升级版,它像是一个常驻型的cgi,只要开启后,就可一直处理请求,不再需要结束进程 调用原理大概为:(web服务器fast-cgi进程管理器初始化,预先fork n个进程)…

Leave a Comment

PHP 生成与识别二维码

endroid/qrcode: 生成二维码,第三方包,支持 composer php-qrcode-detector-decoder: 识别二维码,第三方包,支持 composer。需要 php5.6 以上和 GD 库支持 Ubuntu安装zbar apt-get install zbar-tools 装好 zbar 之后就可以使用 zbarimg path/to/qrcode识别二维码

Leave a Comment

PHP利用多进程处理任务

PHP多进程一般应用在PHP_CLI命令行中执行php脚本,不要在web访问时使用 多进程处理分解任务一般要比单进程更快 首先查看php是否安装多进程模块 php -m | grep pcntl 创建子进程的函数fork php多进程的一些库函数手册:http://php.net/manual/zh/function.pcntl-fork.php pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0。 一个fork子进程的基础示例: <?php pid = pcntl_fork(); //父进程和子进程都会执行下面代码 if (pid == -1) {…

Leave a Comment

MAMP PRO安装Redis扩展

更新为MAMP PRO 5,自带的有redis扩展,开启就好 官方文档 安装Redis扩展(MAMP PRO 4) 由于MAMP PRO中有多个PHP版本,所以先确定需要安装扩展的PHP版本,这里我使用的版本是5.6.30 1. 找到MAMP的安装路径,并找到PHP5.6.30的路径 cd /Applications/MAMP/bin/php/php5.6.30 2. 下载phpredis源码 git clone https://github.com/nicolasff/phpredis.git 3. 编译,生成redis.so cd phpredis /Applications/MAMP/bin/php/php5.6.30/bin/phpize ./configure –with-php-config=/Applications/MAMP/bin/php/php5.6.30/bin/php-config…

Leave a Comment

PHP上传文件大小限制

用php上传比较大的文件,有时候默认是不可以的,必须按照下面的方法修改php的配置文件。 配置php.ini文件,Ubuntu下路径: /etc/php5/apache2/php.ini 以上传500M以下大小的文件为例,查找以下选项并修改: # 打开文件上传选项 file_uploads = On # 上传文件上限 upload_max_filesize = 500M 如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长 # post上传上限 post_max_size = 500M # 每个脚本的最大执行时间 max_execution_time = 1800…

Leave a Comment

查看Laravel版本

方法一 # 使用命令 php artisan –version 方法二 // 在项目文件中找 // 打开后大约在28行能看到版本信息 vendor/laravel/framework/src/Illuminate/Foundation/Application.php

Leave a Comment