php
xing2233
xing8901@foxmail.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php扩展开发---设置常量
转自:http://www.cunmou.com/phpbook/12.3.md 在脚本中使用扩展的一个方便之处是,人们可以改变自己定义的常量。你可以通过define()函数来定义一个常量。在内核中,我们将会使用REGISTER_*_CONSTANT()的 家族函数来使用常量。 对于你定义的大多数常量来说,你可能希望在程序初始化的时候便定义这些变量。你可能需要在MINIT函数:PHP_MINIT转载 2017-11-09 09:54:43 · 449 阅读 · 0 评论 -
php---curl
post$data = "username={$usr}&password={$pwd}&requestTime={$request_time}&authSign={$auth_sign}"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setop原创 2015-05-25 11:57:35 · 400 阅读 · 0 评论 -
php---utf-8文件下生成csv文件
写入csv//写入csv $url_csv = WSING_ROOT . '/countall.csv'; if (file_exists($url_csv)) { unlink($url_csv); } $fp = fopen($url_csv, 'ab'); $export_array = a原创 2015-11-12 14:28:23 · 1303 阅读 · 0 评论 -
php---第一个扩展开发
php扩展开发下载php源码 http://php.net/downloads.php 1.编译phpcd /home/php5.6.22 ./configure --prefix=/usr/local/phptest/ --enable-debug --enable-maintainer-zts '--enable-fpm' '--with-config-file-path=/usr/local/phptes原创 2017-11-08 17:37:36 · 921 阅读 · 0 评论 -
php扩展开发---使用CLion开发PHP扩展
转载:http://type.so/default/develop-php-extension-with-clion.html 扩展目录: ./ext_skel –extname=xing2233 php原文件目录: /usr/php5.6/ php编译后的目录: /usr/php/ 1.使用clion导入xing2233:file->import project 2.修改cmake转载 2017-11-08 17:44:06 · 1940 阅读 · 0 评论 -
php扩展开发---mac上编译php的embed
php原文件目录: /usr/php5.6/ 执行: ./configure –prefix=/Users/albert/Documents/php/phptest/ –enable-debug –enable-maintainer-zts –enable-embed ‘–with-config-file-path=/Users/albert/Documents/php/phptest/et原创 2017-11-08 17:51:37 · 744 阅读 · 0 评论 -
php扩展开发---通过嵌入包装实现cli功能
CMakeLists.txt:cmake_minimum_required(VERSION 3.6) project(c)set(CMAKE_CXX_STANDARD 11) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gcc") set(SOURCE_FILES main.c) include_directories(原创 2017-11-08 17:55:02 · 485 阅读 · 0 评论 -
php扩展开发---使用PHP Embed SAPI实现Opcodes查看器
转载:http://www.laruence.com/2008/09/23/539.html php version:5.6.22 mac#include <stdio.h> #include "../php/php-5.6.22/sapi/embed/php_embed.h"#ifdef ZTS void ***tsrm_ls; #endif //#define BUFFER_LEN原创 2017-11-08 17:58:29 · 1107 阅读 · 0 评论 -
php扩展开发---回调php方法-call_user_function
call_user_function原创 2017-11-08 18:01:48 · 1903 阅读 · 0 评论 -
php扩展开发---获取参数-zend_parse_parameters
转自:http://www.cunmou.com/phpbook/7.2.md 最简单的获取函数调用者传递过来的参数便是使用zend_parse_parameters()函数。 zend_parse_parameters()函数的前几个参数我们直接用内核里宏来生成便可以了,形式为:ZEND_NUM_ARGS() TSRMLS_CC,注意两者之间有个空格,但是没有逗号。从名字可以看出,ZEND_NU转载 2017-11-08 18:11:38 · 1859 阅读 · 1 评论 -
php扩展开发---将类赋值给zval变量-object_init_ex
php version:5.6.22 mac<?php $http = new xing_http_server(); $http->on("start",function($server){ echo "http server is started at http://127.0.0.1:9501\n"; echo $server . PHP_EOL ; });$http->o原创 2017-11-09 09:49:10 · 920 阅读 · 0 评论 -
php扩展开发---获取cpu核数-sysconf(_SC_NPROCESSORS_CONF)
php_printf("%ld", sysconf(_SC_NPROCESSORS_CONF));原创 2017-11-09 09:51:46 · 4777 阅读 · 0 评论 -
php---数字格式化
长数字格式化为短数字 21212.12121212 保留2位小数 需要4舍5入用 round 不需要用 number_format 短数字格式化为长数字 1212 保留2位小数 用sprinf('%.2f', 1212) 变成1212.00原创 2014-12-18 10:44:43 · 636 阅读 · 0 评论 -
php扩展开发---zval 字符串赋值给char
直接赋值是没有用的 char val[Z_STRLEN_PP(zVal)] = Z_STRVAL_PP(zVal); 要这样 char val[Z_STRLEN_PP(zVal)]; snprintf(val, Z_STRLEN_PP(zVal) + 1, Z_STRVAL_PP(zVal));原创 2017-11-09 09:58:17 · 620 阅读 · 0 评论 -
php扩展开发---区分系统加载epoll或者kqueue
cd /ext/xing2233 vim config.m4 增加 AC_CHECK_LIB(c, poll, AC_DEFINE(HAVE_POLL, 1, [have poll])) AC_CHECK_LIB(c, kqueue, AC_DEFINE(HAVE_KQUEUE, 1, [have kqueue]))phpize ./configurevim /ext/xing2233/config原创 2017-11-09 09:59:10 · 487 阅读 · 0 评论 -
php扩展开发---kqueue 实例
/* +----------------------------------------------------------------------+ | PHP Version 5 | +---------------------------------------------原创 2017-11-09 10:02:07 · 505 阅读 · 0 评论 -
php面试题
有一个IP地址(192.168.0.1),请写出其32位无符号整数形式将ip 转成2进制 192%2 = 0 96%2 = 0 48%2 = 0 24%2 = 0 12%2 = 0 6%2 = 0 3%2 = 1 1%2 = 1 192 的二进制 :11000000请写出HTTP头Accept: text/html 可以接受的数据类型 Accept-Encoding: gzip原创 2017-12-06 18:49:43 · 1603 阅读 · 0 评论 -
nginx与php-fpm通信的两种方式
转载:http://blog.youkuaiyun.com/koastal/article/details/52303316 简述在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tc转载 2017-12-11 11:41:05 · 3439 阅读 · 0 评论 -
php---long2ip()与ip2long()
ip2long()将字符串ip转成int var_dump(ip2long(“115.115.115.115”));int 1936946035long2ip将int转成字符串ip var_dump(long2ip(1936946035));string '115.115.115.115' (length=15)作用:以ip做索引,int查询比char快原创 2017-12-05 11:05:58 · 853 阅读 · 0 评论 -
php---读取大文件最后几行
$fp = fopen("./epoll.c", "r");$lines = 3;$i = 1; while (1) { fseek($fp, -$i, SEEK_END); $tmp = fgetc($fp); if (!$lines) break; if ($tmp == "\n") { echo fgets($fp); -原创 2017-12-08 10:10:46 · 1248 阅读 · 0 评论 -
php扩展开发-数组操作
//add_assoc_*系列函数,生成字符索引: add_assoc_null(zval *aval, char *key); add_assoc_bool(zval *aval, char *key, zend_bool bval); add_assoc_long(zval *aval, char *key, long lval); add_assoc_double(zval *aval, c原创 2018-01-24 18:16:37 · 1872 阅读 · 0 评论 -
php扩展开发-错误处理
//输出php错误 //NULL TSRMLS_CC 默认写法 //E_NOTICE 错误级别 //错误内容 php_error_docref(NULL TSRMLS_CC, E_NOTICE, "test"); //Notice: confirm_xing2233_compiled(): test in /Users/albert/Documents/php/php-5.6.22/ext/xin原创 2018-01-24 18:20:38 · 462 阅读 · 0 评论 -
ffmpeg任意格式转码为M4A
$ffmpeg = 'bin/ffmpeg-2.8-64bit-static/ffmpeg'; $neroAacEnc = 'bin/NeroAACCodec-1.5.1/linux/neroAacEnc'; $input = "a.mp3"; $rate = 320000; $output = "{$input}.m4a"; $command = "{$ffmpeg} -vn -loglevel原创 2018-03-19 18:37:11 · 3624 阅读 · 0 评论 -
php扩展开发-变量设置和销毁
原创 2018-05-08 21:42:26 · 273 阅读 · 0 评论 -
php---get_included_files — 返回被 include 和 require 文件名的 array
返回所有被 include 、 include_once 、 require 和 require_once 的文件名。原创 2015-02-13 13:46:10 · 590 阅读 · 0 评论 -
php---预定义常量PHP_EOL
换行符 unix系列用 \n windows系列用 \r\n mac用 \r PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性原创 2014-09-23 13:39:11 · 565 阅读 · 0 评论 -
php---预定义常量DIRECTORY_SEPARATOR
转载于:http://blog.youkuaiyun.com/abandonship/article/details/6524402转载 2014-09-23 09:50:50 · 483 阅读 · 0 评论 -
php---对象和数组互转
$a = array( 'one'=>1, 'two'=>2 ); $b = json_encode($a); $c = json_decode($b); var_dump($c); $d = json_encode($c); var_dump($d); $e = json_decode($d,TRUE); var_dump($e);原创 2014-09-24 09:45:30 · 414 阅读 · 0 评论 -
异常处理---__toString()
用法:直接输出class 的shili <?php /** * */ class ke { static $a ; public function test() { self :: $a=2; } public function test1() { echo self :: $a; } public function __toString(){ return原创 2014-09-26 14:43:03 · 505 阅读 · 0 评论 -
php---引入文件的函数之间的效率对比
Function Time (s) Memory (b) 32Kb File 1Mb File 32Kb File 1Mb File file_get_contents 0.00152 0.00564 52480 1067856 fpassthru 0.00117 0.00184 20016 20032 fgets 0转载 2014-09-17 11:27:44 · 483 阅读 · 0 评论 -
PHP 中命名空间的作用
php中命名空间 其实就是为了避免类名冲突 main.class.php [html] view plaincopy namespace App\main; class aa { public static function test() { echo 1; } }原创 2014-10-20 17:29:52 · 1323 阅读 · 0 评论 -
php---常用正则
字符串中是否有中文$bool = preg_match('/^.*[\x4e00-\x9fa5]+.*$/', $str);原创 2015-01-07 16:18:23 · 342 阅读 · 0 评论 -
php---判断字符编码
$code = mb_detect_encoding($tmp,array('ASCII','GB2312','GBK','UTF-8'));原创 2015-01-07 17:03:40 · 964 阅读 · 0 评论 -
php---从txt文件读取数据
$url = ROOT . '/data' . dirname($bookinfo['book_filepath']) . '/' . $book_id . '/' . ($cid - 1) . '.txt'; $handle = fopen($url, 'rb'); $txt_content = ''; $preg = '/^\s| /'; #去除中文全角空格 while (! feof(原创 2014-12-23 15:56:02 · 3158 阅读 · 0 评论 -
php-fpm---为每个开发人员分配进程
一、php-fpm 配置 cd /etc/php-fpm.d/ mv www.conf www.conf_bak touch hx.conf 配置如下 [hx] user = hx group = hx listen = 127.0.0.1:9002 pm = static pm.max_children = 5 php_value[session.save_handler] = fil原创 2015-01-15 15:57:31 · 671 阅读 · 0 评论 -
php-fpm---配置文件
配置文件官方详解:http://php.net/manual/zh/install.fpm.configuration.php原创 2015-01-06 09:22:48 · 488 阅读 · 0 评论 -
php---生成缩略图
<?php /** * 生成缩略图 * @author yangzhiguo0903@163.com * @param string 源图绝对完整地址{带文件名及后缀名} * @param string 目标图绝对完整地址{带文件名及后缀名} * @param int 缩略图宽{0:此时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)} * @p转载 2014-08-26 13:58:39 · 368 阅读 · 0 评论 -
php---utf-8文件下生成csv文件
CSV的Excel支持GBK编码,一定要转换,否则乱码 $now = time(); $url_csv = $now . '-log.csv'; $fp = fopen($url_csv, 'ab'); fputcsv($fp, array(iconv('utf-8', 'gbk', '商品标识'), iconv('utf-8', 'gbk', '淘宝id'), iconv('utf-8原创 2015-03-26 16:54:47 · 600 阅读 · 0 评论 -
php---xmlrpc
安装 http://cn2.php.net/manual/zh/xmlrpc.installation.php原创 2015-03-17 13:58:46 · 461 阅读 · 0 评论 -
php---var_export
写入配置文件时使用原创 2015-03-11 14:43:47 · 459 阅读 · 0 评论
分享