profile
viewpoint
Xinchen Hui laruence Ke.com Beijing, China http://www.laruence.com PHP Stylite

laruence/yaf 4120

Fast php framework written in c, built in php extension

laruence/php7-internal 1419

Understanding PHP7 Internal articles

laruence/yar 1299

Light, concurrent RPC framework for PHP & C

laruence/yaconf 950

A PHP Persistent Configurations Container

laruence/yac 724

A fast shared memory user data cache for PHP

laruence/taint 481

Taint is a PHP extension, used for detecting XSS codes

laruence/phpbook 192

PHP扩展开发及内核应用

laruence/php-valgrind 156

A PHP Valgrind tool

laruence/php-lua 122

This extension embeds the lua interpreter and offers an OO-API to lua variables and functions.

laruence/yar-c 85

Yar C Framework

push eventlaruence/php-ffi

Dmitry Stogov

commit sha a2469f8545877f2286fce6f98b2baf458d68bade

Split FFI::type(mixed) into FFI::type(string) and FFI::typeof(FFI\CData).

view details

Dmitry Stogov

commit sha 15545c5258d058706fd3b7373ccb7b21d8bba21e

Rename FFI::array() into FFI::array_type()

view details

Dmitry Stogov

commit sha eec2807d0450dfb9f37829759d080e4f3b16e650

Replace "new FFI" by "FFI::cdef", to avoid confusion between "new FFI" and "FFI::new".

view details

Anatol Belski

commit sha 36e5d9f2f8bd8e654edf4df14fd970fca1011ae2

Use php_printf and php dll for test

view details

Anatol Belski

commit sha 67ca2b34fe5ed1d88a4f21a7793fa885e4657a59

Yet another test fix, same as before

view details

Anatol Belski

commit sha 65d40dd98e1bfbd5dec4795f5382f0c565a4ec10

Fix uninitialized var usage

view details

Anatol Belski

commit sha b34a974360bd8a7570fedd47f908766e131fd788

Exclude unusable test piece

view details

Anatol Belski

commit sha 865e08aa86fda45c4637bbc1aa32f626222d806f

Care also about the debug DLL name

view details

Dmitry Stogov

commit sha 91ed4053852e31398eccfc5777a2872522a511e6

Merge pull request #17 from weltling/master Windows test fixes

view details

Dmitry Stogov

commit sha 6460922fe3933fb8d949976d4cd8c8cca6710fd6

Rename FFI::array_type() into FFI::arrayType()

view details

Dmitry Stogov

commit sha 7c2fcf5514cd7f35476004a7cdc87d47ca675706

Support for __declspec(align(n))

view details

Anatol Belski

commit sha f07a118f0f3b79422f6510b21d0c78cf08d48de1

Fix access violation

view details

Dmitry Stogov

commit sha bea36fc253905afd0cad12ee81baa2be2b7d41ef

Merge pull request #19 from weltling/master Fix access violation

view details

Dmitry Stogov

commit sha 190542d103eea75884086c6fe92f1db8d1b0eb2c

Fixed passing CData as var_arg

view details

Dmitry Stogov

commit sha fe995680d5f5c1bb8e0b466c74cb8cfa50578eb0

"ffi.enable" ini directive must be ZEND_INI_SYSTEM.

view details

Dmitry Stogov

commit sha 6c43a0072da2879e77bffd21d10fb28c0e3c2878

We don't know, if a not-owned pointer returned from C function persistent or not. So we have to check this, when releasing it through FFI::free();

view details

Dmitry Stogov

commit sha ea1a1bbd5412a4eb73a7ac19ade24f775b4452a6

Allow FFI::cast("int", 5), FFI::cast("void*", -1) and similar numeric conversions.

view details

Dmitry Stogov

commit sha 82e486115e99eb68799860608090c2c48a7313db

Support for write_filed prototype change.

view details

François Poirotte

commit sha 41964c3930f2ff2200e27131f69c6dd6210fb2b0

Use pkg-config to locate libffi

view details

push time in 2 days

pull request commentphp/php-src

Create str_contains PHP function

I am not sure what is the difference between this and strpos?

philippta

comment created time in 4 days

push eventlaruence/yaf

Xinchen Hui

commit sha 6c7393ff3dbcef4b4db2e7e5eb5d478e4a0a0c82

No memory allocation

view details

push time in 4 days

push eventlaruence/yaconf

Xinchen Hui

commit sha 8ea8c5080b1c299e5ef1dfd1cf325242fcd02149

Fixed compiler warnings

view details

push time in 5 days

push eventlaruence/yaconf

Xinchen Hui

commit sha aa8cb9906e308120d681fa0514806a3b49418b92

tweak test script

view details

push time in 5 days

push eventlaruence/yaconf

Xinchen Hui

commit sha 90bf80a088c6ff9308c7a3953aef0e7e8d8f110f

Fixed typo

view details

push time in 5 days

push eventlaruence/yaconf

Xinchen Hui

commit sha fc403739577714fd160d35713013e8bdcbd363e9

Restore unintensionally remove

view details

push time in 6 days

push eventlaruence/yaconf

Xinchen Hui

commit sha 3d905e5d115d0ff1bb611aff0982199f063f69bb

Fixed segfault reported by PR #29

view details

Xinchen Hui

commit sha 0f2514d9143d8ca3b8067ec1202475e9d0be520f

Refactor yaconf to avoiding memory allocation

view details

Xinchen Hui

commit sha ea4a7c182e240f1b10cd5082d5535f03dcbc74bb

Refactor 002.phpt

view details

Xinchen Hui

commit sha 76ad04fb6f0b5f46fbdf67fcc6efa9d2443bf515

Refactor tests

view details

Xinchen Hui

commit sha 7186865e08f236ab9655be2210bab89b5be76b28

Added tests

view details

Xinchen Hui

commit sha 6cf699edb041925c344eb5ba524f59b303f8b0db

Updated package.xml

view details

push time in 6 days

issue commentlaruence/yaconf

Configurations not reload automatically after changed

yaconf checks the mtime of the yaf.directioy , so you should check whether it was changed after you edited the config files

JorsonChen

comment created time in 7 days

push eventlaruence/yac

Xinchen Hui

commit sha 8b21c5940226860d9b43d544cfd7ace9710fe0a6

simply use make test

view details

push time in 12 days

push eventlaruence/yac

Tinggong

commit sha 7ce3a1d4005cadcab24d1810c4d944b653fcb8c9

fix: test with valgrind

view details

Tinggong

commit sha f01360b8ed9fc82ede885c814021b17ddfe0f9d0

fix build warnings on `%ld`

view details

Tinggong

commit sha 26147becd2742ad87c2622ae62b71a0098d10833

show output files on tests failed

view details

Tinggong

commit sha ad0266921c69a8bf4172a55233e2262a25d4da99

ignore warning: Conditional jump or move depends on uninitialised value(s)

view details

Xinchen Hui

commit sha 9eddac78506e6cd13851607b29fb4ff595a07855

Merge pull request #102 from hi-man/trivial [testing] fix: test with valgrind

view details

push time in 12 days

PR merged laruence/yac

Reviewers
[testing] fix: test with valgrind

travis-ci testing

+23 -6

0 comment

3 changed files

hi-man

pr closed time in 12 days

PR closed dstogov/php-ffi

Fixed build with old version libffi

_Alignof requires C11 build broken with libffi below 3.0.11

+32 -5

0 comment

2 changed files

laruence

pr closed time in a month

push eventlaruence/yar

Xinchen Hui

commit sha dd3c5b4c7fdea56b1444ba4900afdcdfd790ff06

Corrected the version id

view details

push time in a month

push eventlaruence/yar

Xinchen Hui

commit sha 9175867fbaa080dbfa9f8c54bf5bccfcdb0bc98c

honor the older version

view details

push time in a month

issue commentlaruence/yar

Header头Hostname传递非法字符串导致Go-Yar服务返回400错误

过春节,没看到, 应该已经修复了, 你可以试用下master最新代码

flyhope

comment created time in a month

push eventlaruence/yar

Xinchen Hui

commit sha c10081cf6c6a4fd359773f7ceeef07db97b28d95

Fixed issue #149 (malformed hostname was passed)

view details

push time in a month

push eventlaruence/yac

Xinchen Hui

commit sha 4e26bdaa1014b8dc375b1e9d4676846b1698f4ab

Revert "try to find what's wrong in traivs" This reverts commit b74dd06504ee1b1b425a7977f93e4d929051aefd.

view details

Xinchen Hui

commit sha 35e55057ed53ab1a5761ce763b27c9f74fa5534a

Revert "test with valgrind" This reverts commit 0bf0a73170acca248191343b69cc70109476c920.

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 738f5e4f19ff599fee1c63fccc9cc9048ac4e02f

revert

view details

push time in a month

push eventlaruence/yac

Xinchen Hui

commit sha b74dd06504ee1b1b425a7977f93e4d929051aefd

try to find what's wrong in traivs

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha d534809706b43a702760af7ee81190b52f4a7216

revert

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 6e7a9df87f01800371bb26c2bb9120e921403784

include mem output

view details

push time in a month

push eventlaruence/yac

Xinchen Hui

commit sha 5d18917ac74a491c9a4fbbde19972d1443f5caf0

test with valgrind

view details

Xinchen Hui

commit sha 7512fc88c08e14e5e3a7e979003883d585463265

Merge branch 'master' of github.com:laruence/yac

view details

Xinchen Hui

commit sha 0bf0a73170acca248191343b69cc70109476c920

test with valgrind

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha acf25fc8b80126e152df6c72a53b08ce1d6c9c2c

unnecessary

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha daf04ceafd54c7e3ed72cb271df6fa7201f55173

install valgrind

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha e3265016c64f7f8a29fba9a795e42f153945ca89

test with valgrind

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha be504a3507bc9531de7d466d87782a76457a8cab

Opmitized php_yaconf_has (no memory allocated)

view details

Xinchen Hui

commit sha 0bbcc456b317b4d4cb8ee5766648214c7998622f

Merge branch 'master' of github.com:laruence/yaconf

view details

push time in a month

issue closedlaruence/yar

服务端示例更新

`<?php class API { /** * the doc info will be generated automatically into service info page. * @params * @return */ public function api($parameter = '', $option = "foo") { return $parameter; }

protected function client_can_not_see() {
}

}

$service = new Yar_Server(new API()); $service->handle(); ?>`

例子的$parameter 给个默认值,不然php7中显示异常。

closed time in a month

showx

issue commentlaruence/yar

多次并行调用导致内存泄露

这个问题可以暂时采用不要使用闭包函数作为回掉函数来避免。下一个版本可能还要再等等,凑一波修复改进再发,如果你着急也可以直接使用master分支。

flyhope

comment created time in a month

issue commentlaruence/yar

多次并行调用导致内存泄露

你拉去master代码编译测试下? 我看之前是因为callback没有被dtor引起一处内存泄漏,不确定还有没有其他的,我这边是暂时看不到了

flyhope

comment created time in a month

push eventlaruence/yar

Xinchen Hui

commit sha 7d35928c66e030a9b7f3828600da68c250f450e6

Fixed issue #148 (memory leak in callback)

view details

Xinchen Hui

commit sha e547372a918c534d5ad9a97207ed20725828e84a

Merge branch 'master' of github.com:laruence/yar

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 3daa35fa6074f16dd70be48cbdb31880b2d9e2d4

Update README.md

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 81d3197cc58d612ac480d738765899b8bdbeadfb

Update README.md

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 64583cb2734cdc97217b3c0430e04b0d1978f89d

Update README.md

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 70a7dcd6f883df6b4b3cc63e5e2aaac2022b66ed

Update README.md

view details

push time in a month

push eventlaruence/yaconf

Xinchen Hui

commit sha 5efcc8438b4acdd55e09c4f9e1a4c2105abed067

Update README.md

view details

push time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha ff057569b4a018cb9d997ad5b22b6a8977860349

Update README.md

view details

push time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha a24d2e606ac7fbd0833390913cf996dc07f98d5b

syntax highlight

view details

push time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha d19a931fd4cd07910e0d1095f6fb868ca80aa373

Update README.md

view details

push time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha 4ea442f27d0c245cabca7a0352a36a463eb8508c

Update README.md

view details

push time in a month

push eventlaruence/yar

Xinchen Hui

commit sha db11632fec5d1c7328cb840a12972d40fb615a3a

Update README.md

view details

push time in a month

push eventlaruence/yar

Xinchen Hui

commit sha 6e90a9fe2a35d241eff8e38a33be6f6b86c55c8d

Update README.md

view details

push time in a month

startedlaruence/yar-c

started time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha 757544de3169156a108ec470581d07f6d96365cd

Update README.md

view details

push time in a month

push eventlaruence/yar-c

Xinchen Hui

commit sha 188c9066cec17f64f66c980140069db2ef5e1240

Update README.md

view details

push time in a month

issue commentlaruence/yaconf

yaconf在php7.3下安装失败

目前应该是可以了,1.0.8版本

Justin0530

comment created time in a month

push eventlaruence/yac

Christoph M. Becker

commit sha e169633298483b38f0132061d71f6fb275365501

Replace ulong with zend_ulong As of PHP 7.4.0, portable support of `ulong` has been removed, which causes builds on Windows (and maybe other systems) to fail.

view details

Xinchen Hui

commit sha a17d95bb0325f5e5dde9dba4a6dd8a172e3859af

Merge pull request #101 from cmb69/cmb/ulong Replace ulong with zend_ulong

view details

push time in 2 months

PR merged laruence/yac

Replace ulong with zend_ulong

As of PHP 7.4.0, portable support of ulong has been removed, which causes builds on Windows (and maybe other systems) to fail.

+2 -2

0 comment

2 changed files

cmb69

pr closed time in 2 months

push eventlaruence/yaf

Xinchen Hui

commit sha 49479876f301779b141740b30e323643828d6f13

Fixed typo

view details

push time in 2 months

issue closedlaruence/yaf

$router->addConfig 通过配置加载regex类型的路由时【reverse】属性的BUG

'articles/view'=>[ 'type'=>'regex', 'match'=>'#/articles/([\d]+)#', 'route'=>[ 'module'=>'index', 'controller'=>'articles', 'action'=>'view' ], 'map'=>[ 1=>'id' ], 'reverse'=>'/articles/:id' ] 我发现以上的配置在addConfig时,属性reverse无法设置,阅读了源文件:yaf_route_interface.c 在第88行发现以下的代码: if ((reverse = zend_hash_str_find(Z_ARRVAL_P(config), ZEND_STRL("route"))) == NULL || Z_TYPE_P(reverse) != IS_STRING) { reverse = NULL; }

ZEND_STRL("route")这里应该是错了吧,我改成reverse上面的代码就可以正常运行了。

closed time in 2 months

regedit

issue closedlaruence/yaf

在命令行使用Yaf出现问题,求鸟哥帮忙看看!

电脑环境:yaf:3.0.5 php:7.1.7

`<?php ini_set('display_errors', 'On'); error_reporting(1); define("APP_PATH", realpath(dirname(FILE) . "/../../../")); $application = new Yaf_Application( APP_PATH . "/conf/application.ini", "product"); $application->bootstrap()->execute("main", $argv);

function main(){
	$obj = new Auth_ActionModel();
}

?>`

上面的代码运行出现: `PHP Fatal error: Uncaught Error: Call to a member function execute() on boolean in /home/work/www/application/modules/System/cron_movie_wjq.php:6 Stack trace: #0 {main} thrown in /home/work/www/application/modules/System/cron_movie_wjq.php on line 6

Fatal error: Uncaught Error: Call to a member function execute() on boolean in /home/work/www/application/modules/System/cron_movie_wjq.php:6 Stack trace: #0 {main} thrown in /home/work/www/application/modules/System/cron_movie_wjq.php on line 6`

打印$application->bootstrap()为:

object(Yaf_Application)#1 (7) { ["config":protected]=> object(Yaf_Config_Ini)#2 (2) { ["_config":protected]=> array(2) { ["application"]=> array(5) { ["directory"]=> string(28) "APPLICATION_PATH/application" ["system"]=> array(1) { ["library"]=> string(25) "APPLICATION_PATH/library/" } ["dispatcher"]=> array(4) { ["catchException"]=> string(1) "1" ["defaultModule"]=> string(5) "Index" ["defaultController"]=> string(5) "Index" ["defaultAction"]=> string(5) "index" } ["modules"]=> string(147) "Index,Admin,System,Auth,Api,Test,Page,Blog,Mds,Movie,Music,Open,Port,Mobile,Rington,Subject,Podcast,Sell,Show,Feed,Movieapp,Mingxing,Sale,Weixinapp" ["showErrors"]=> string(1) "0" } ["database"]=> array(1) { [3757]=> array(7) { ["adapter"]=> string(9) "pdo_mysql" ["dbname"]=> string(5) "caleb" ["host"]=> string(9) "127.0.0.1" ["username"]=> string(7) "wujunqi" ["password"]=> string(8) "041968Wo" ["charset"]=> string(4) "UTF8" ["port"]=> string(4) "3306" } } } ["_readonly":protected]=> bool(true) } ["dispatcher":protected]=> object(Yaf_Dispatcher)#4 (10) { ["_router":protected]=> object(Yaf_Router)#5 (2) { ["_routes":protected]=> array(1) { ["_default"]=> object(Yaf_Route_Static)#6 (0) { } } ["_current":protected]=> NULL } ["_view":protected]=> NULL ["_request":protected]=> object(Yaf_Request_Http)#3 (11) { ["module"]=> NULL ["controller"]=> NULL ["action"]=> NULL ["method"]=> string(3) "Cli" ["params":protected]=> array(0) { } ["language":protected]=> NULL ["_exception":protected]=> NULL ["_base_uri":protected]=> string(0) "" ["uri":protected]=> string(0) "" ["dispatched":protected]=> bool(false) ["routed":protected]=> bool(false) } ["_plugins":protected]=> array(0) { } ["_auto_render":protected]=> bool(true) ["_return_response":protected]=> bool(false) ["_instantly_flush":protected]=> bool(false) ["_default_module":protected]=> string(5) "Index" ["_default_controller":protected]=> string(5) "Index" ["_default_action":protected]=> string(5) "index" } ["_modules":protected]=> array(24) { [0]=> string(5) "Index" [1]=> string(5) "Admin" [2]=> string(6) "System" [3]=> string(4) "Auth" [4]=> string(3) "Api" [5]=> string(4) "Test" [6]=> string(4) "Page" [7]=> string(4) "Blog" [8]=> string(3) "Mds" [9]=> string(5) "Movie" [10]=> string(5) "Music" [11]=> string(4) "Open" [12]=> string(4) "Port" [13]=> string(6) "Mobile" [14]=> string(7) "Rington" [15]=> string(7) "Subject" [16]=> string(7) "Podcast" [17]=> string(4) "Sell" [18]=> string(4) "Show" [19]=> string(4) "Feed" [20]=> string(8) "Movieapp" [21]=> string(8) "Mingxing" [22]=> string(4) "Sale" [23]=> string(9) "Weixinapp" } ["_running":protected]=> bool(false) ["_environ":protected]=> string(7) "product" ["_err_no":protected]=> int(0) ["_err_msg":protected]=> string(0) "" }

打印 $application->bootstrap()为: bool(false)

去掉bootstrap后代码如下:

`<?php ini_set('display_errors', 'On'); error_reporting(1); define("APP_PATH", realpath(dirname(FILE) . "/../../../")); $application = new Yaf_Application( APP_PATH . "/conf/application.ini", "product"); $application->execute("main", $argv);

function main(){
	$obj = new Auth_ActionModel();
}

?>`

运行结果为:

`PHP Fatal error: Uncaught Error: Class 'Auth_ActionModel' not found in /home/work/www/application/modules/System/cron_movie_wjq.php:10 Stack trace: #0 [internal function]: main(Array) #1 /home/work/www/application/modules/System/cron_movie_wjq.php(6): Yaf_Application->execute('main', Array) #2 {main} thrown in /home/work/www/application/modules/System/cron_movie_wjq.php on line 10

Fatal error: Uncaught Error: Class 'Auth_ActionModel' not found in /home/work/www/application/modules/System/cron_movie_wjq.php:10 Stack trace: #0 [internal function]: main(Array) #1 /home/work/www/application/modules/System/cron_movie_wjq.php(6): Yaf_Application->execute('main', Array) #2 {main} thrown in /home/work/www/application/modules/System/cron_movie_wjq.php on line 10 `

说我找不到model, 但是明明在models下啊, 用浏览器时可以访问到的, google了一天都没有找到原因。

closed time in 2 months

wujunqi

issue closedlaruence/yar

php5.4.9编译失败

fatal error: Zend/zend_smart_str.h: No such file or directory 请问大神们,最新的release不支持php5吗? 因为我想用自定义header,我发现只有最新的release才支持

closed time in 2 months

moxiami

issue commentlaruence/yar

php5.4.9编译失败

master分支是针对php7的

moxiami

comment created time in 2 months

push eventlaruence/yac

Xinchen Hui

commit sha a253b8afd51a0010386dd8d04506a89ee2445e48

Change Role

view details

push time in 2 months

issue commentlaruence/yar

经常报错“curl exec failed 'Timeout was reached'”

适当增大点超时设置能解决么?

phf0313

comment created time in 2 months

issue closedlaruence/yar

如何可以让继承的父类不出现在get请求生成文档中

Class  Auth extends \yii\base\BaseObject
{
}

使用继承时,父类的方法也会出现在文档中。

closed time in 2 months

shouhuori

issue commentlaruence/yar

如何可以让继承的父类不出现在get请求生成文档中

所有Public的方法都应该是暴露出来的API,没问题啊? 可能你不能使用继承, 应该包装一个代理。

shouhuori

comment created time in 2 months

issue closedlaruence/yaf

php7.2.0 + yaf3.0.5 coredump

环境: php 7.2.0 yaf 3.0.5

问题: Program terminated with signal 11, Segmentation fault.

复现步骤: 1、创建一个Test的controller. 2、添加一个func方法,两个参数,分别叫$a和$b(默认值都设置为null). 3、添加两行测试代码

var_dump($a); var_dump($b);

4、下面的代码copy到index.php,然后运行

$app = new Yaf_Application(APP_PATH . "/config/application.ini"); $app->bootstrap();$req = new Yaf_Request_Simple(); $req->setControllerName('Test'); $req->setActionName('func'); $req->setParam(array('b' => 'the second param')); $app->getDispatcher()->dispatch($req);

5、有时候会得到如下输出, 而有时候会出现coredump

UNKNOWN:0 NULL

问题分析: 首先问题出在yaf_dispatcher_get_call_parameters这个函数,因为当params_ht非空的时候,下面的arg永远不可能为NULL,也就不会跳出循环。由于第一个参数$a不在params_ht里,导致params[0]个zval没有进行初始化(type info是个随机数),第二个参数$b存在,然后count++,最后yaf_dispatcher_get_call_parameters执行完,count=1,而params[0]却没有初始化。这就导致了后面调用zend_call_function进行参数copy的时候出现了内存越界(这一句:GC_REFCOUNT(_gc)++)。

解决方案: 去掉if(NULL==arg)的判断,直接break.

bt: #0 0x0000000000833dab in zend_call_function (fci=fci@entry=0x7fe4380036c0, fci_cache=<optimized out>, fci_cache@entry=0x0) at /data3/soft/php-7.2.0/Zend/zend_execute_API.c:797 #1 0x0000000000834705 in _call_user_function_ex (object=object@entry=0x7fe438003790, function_name=function_name@entry=0x7fe4380037b0, retval_ptr=retval_ptr@entry=0x7fe438003770, param_count=<optimized out>, params=<optimized out>, no_separation=no_separation@entry=1) at /data3/soft/php-7.2.0/Zend/zend_execute_API.c:652 #2 0x00007fe44b9b5c78 in yaf_dispatcher_handle (dispatcher=dispatcher@entry=0x7fe452a1c1a0, request=request@entry=0x7fe452a78208, response=response@entry=0x7fe4380038c0, view=view@entry=0x7fe452a781f8) at /data3/soft/yaf-yaf-3.0.5/yaf_dispatcher.c:603 #3 0x00007fe44b9b6f10 in yaf_dispatcher_dispatch (dispatcher=dispatcher@entry=0x7fe452a1c1a0, response_ptr=response_ptr@entry=0x7fe4380038c0) at /data3/soft/yaf-yaf-3.0.5/yaf_dispatcher.c:886 #4 0x00007fe44b9b7834 in zim_yaf_dispatcher_dispatch (execute_data=<optimized out>, return_value=0x7fe438003940) at /data3/soft/yaf-yaf-3.0.5/yaf_dispatcher.c:1136 #5 0x00000000008e7cd5 in ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER () at /data3/soft/php-7.2.0/Zend/zend_vm_execute.h:907 #6 execute_ex (ex=0x8010100) at /data3/soft/php-7.2.0/Zend/zend_vm_execute.h:59752 #7 0x00000000008e8d43 in zend_execute (op_array=0x7fe452a78000, op_array@entry=0x7fe439a80270, return_value=return_value@entry=0x7fe452a1c030) at /data3/soft/php-7.2.0/Zend/zend_vm_execute.h:63763 #8 0x0000000000843b04 in zend_execute_scripts (type=type@entry=8, retval=0x7fe452a1c030, retval@entry=0x0, file_count=file_count@entry=3) at /data3/soft/php-7.2.0/Zend/zend.c:1496 #9 0x00000000007e3920 in php_execute_script (primary_file=primary_file@entry=0x7fe438005c80) at /data3/soft/php-7.2.0/main/main.c:2592

closed time in 2 months

scgywx

push eventlaruence/yaf

Xinchen Hui

commit sha 0dd2255bc63c75b23c65a7ae0357decf5c175027

Fixed issue #420

view details

push time in 2 months

created taglaruence/yac

tagyac-2.0.3

A fast shared memory user data cache for PHP

created time in 2 months

push eventlaruence/yac

Xinchen Hui

commit sha db0397cd9a5a6fc04ff31a534475fcc454ebe808

preparing 2.0.3

view details

Xinchen Hui

commit sha 00b351f28b923d02c24bb5251aa2bd0ad875c22c

back to dev

view details

push time in 2 months

push eventlaruence/yac

Xinchen Hui

commit sha e9e83ec10c252c69b4d3b5a9bd4d410e258e6b18

remove uint

view details

push time in 2 months

issue closedlaruence/yaconf

windows下php7.2的1.06和1.07版本都不支持盘符

windows下php7.2的1.06和1.07版本 yaconf.directory配置盘符时php无法启动且没有php的错误日志 换成类似Linux的/开头后可正常启动php,但无法读取配置(windows下是盘符开头) 希望鸟哥更新一下

closed time in 2 months

renxiaotu

created taglaruence/yar

tagyar-2.0.7

Light, concurrent RPC framework for PHP & C

created time in 2 months

push eventlaruence/yar

Xinchen Hui

commit sha e7d1afc8dbe730c8012f1c331ab452cf0254a25e

preparing 2.0.7

view details

Xinchen Hui

commit sha 440a1570024a63e4a647d5fe36377c79dee87a1d

back to dev

view details

push time in 2 months

issue closedlaruence/yac

php 7.3.4 make 错误

/bin/sh /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/libtool --mode=compile cc -I. -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2 -DPHP_ATOM_INC -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/include -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/main -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2 -I/home/liuyanqiang/msuf/php/include/php -I/home/liuyanqiang/msuf/php/include/php/main -I/home/liuyanqiang/msuf/php/include/php/TSRM -I/home/liuyanqiang/msuf/php/include/php/Zend -I/home/liuyanqiang/msuf/php/include/php/ext -I/home/liuyanqiang/msuf/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c -o yac.lo mkdir .libs cc -I. -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2 -DPHP_ATOM_INC -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/include -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/main -I/data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2 -I/home/liuyanqiang/msuf/php/include/php -I/home/liuyanqiang/msuf/php/include/php/main -I/home/liuyanqiang/msuf/php/include/php/TSRM -I/home/liuyanqiang/msuf/php/include/php/Zend -I/home/liuyanqiang/msuf/php/include/php/ext -I/home/liuyanqiang/msuf/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c -fPIC -DPIC -o .libs/yac.o /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c: 在函数‘yac_add_impl’中: /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c:150:8: 错误:‘IS_CONSTANT’未声明(在此函数内第一次使用) case IS_CONSTANT: ^ /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c:150:8: 附注:每个未声明的标识符在其出现的函数内只报告一次 /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c: 在函数‘yac_get_impl’中: /data/liuyanqiang/msuf/init/sources/yac-yac-2.0.2/yac.c:350:9: 错误:‘IS_CONSTANT’未声明(在此函数内第一次使用)

closed time in 2 months

liuyanqiang

issue closedlaruence/yac

请问yac的info其中几个字段的含义

Array ( [memory_size] => 71303168 [slots_memory_size] => 4194304 [values_memory_size] => 67108864 [segment_size] => 4194304 [segment_num] => 16 [miss] => 2 [hits] => 2 [fails] => 0 [kicks] => 0 [recycles] => 0 [slots_size] => 32768 [slots_used] => 1 ) segment_size(看了一下大家的返回都和slots_memory_size大小都一样?),segment_num,fails(什么情况下会失败?),recycles(看一个issue说是内存重新分配的次数,什么情况下会发生?)

closed time in 2 months

egege

issue commentlaruence/yac

请问yac的info其中几个字段的含义

segment_size是内存分块大小,segment_num是申请了多少块,fails,获取到错误的数据的次数(crc校验不通过),recycles segment用完了会导致重新分配。

egege

comment created time in 2 months

issue commentlaruence/yaf

php7.2.0 + yaf3.0.5 coredump

你试试修复一下, 弄个PR? 既然你分析的已经这么清楚了。。 :)

scgywx

comment created time in 2 months

issue commentlaruence/yaf

yaf3.0.5 zend_update_property coredump问题

有测试脚本么,不管怎么说都不该coredump,应该修复

adanteng

comment created time in 2 months

push eventlaruence/php-lua

Mikhail Galanin

commit sha 199a846d7aed1fde9878a89b1a90b14f138f7fdf

Demangle name of a property when assigning an object into Lua

view details

Mikhail Galanin

commit sha aa1dd4f5268a4574a29da6e084a8391f6192019a

Fixed test

view details

Mikhail Galanin

commit sha 0d73a2fdaafcd5bc1e7033f7aa68a7af76f00529

fixed test

view details

Mikhail Galanin

commit sha a780d5623de63c54770f56b20060660f8d8b5b38

Make test finally stable

view details

Mikhail Galanin

commit sha 5663931ce7d2994f97b30fe3ac9d690c7c0a3ad7

Renamed test to prevent merge conflict

view details

Xinchen Hui

commit sha 5c405f9746490171395bb523a2d594787addaebd

Merge pull request #42 from negram/demangle-object-name Demangle name of a property when assigning an object into Lua

view details

push time in 2 months

PR merged laruence/php-lua

Demangle name of a property when assigning an object into Lua

Current implementation of "assign" method converts objects into lua-tables (just like hash-arrays). However, all fields of an object internally contain "mangled" names, i.e. field Test::$field will be named as "<zero byte>Test<zero byte>field".

While, expected name "field" I suppose. In the PR added unmangling of names so that it now acts like get_object_vars() for objects

+65 -2

0 comment

2 changed files

negram

pr closed time in 2 months

push eventlaruence/php-lua

Mikhail Galanin

commit sha 24fd1baf19a41248e5bef1f842e85a78202cd53f

Fixed issue #40 Using absolute index could be error-prone, updated code to use relative indices as it commonly done with Lua

view details

Antony Dovgal

commit sha d763f167d8790043df2bac8f981a3c11541d1281

fix incorrect type alloc that causes memory corruption

view details

Antony Dovgal

commit sha ef70d19a33b725f2f6029475a5117e77d967ca73

fix crashes when printing tables

view details

Antony Dovgal

commit sha 13e26a383a6879061bb0e80500511a9e6b263b4d

make lua_obj optional so that printing a function would not cause crash

view details

Antony Dovgal

commit sha ffae3062a4c7db938eb9570963bb1d639ce03e78

add more tests

view details

Antony Dovgal

commit sha a5a8995b2eff9c15f54b114b66de07b8c5e66109

add some more table magic this commit seems to fix all remaining issue with iterating tables

view details

Xinchen Hui

commit sha 9b25ea36a5a099dd975b5e145da3455c0f9ac464

Merge pull request #44 from tony2001/multiple_fixes Multiple fixes

view details

push time in 2 months

PR merged laruence/php-lua

Multiple fixes

Fixed segfault caused by using incorrect index in lua_next() when printing table values. Printing function values also caused multiple errors, this is now fixed as well. There was a memory corruption which still requires a test case, but the obviously wrong code has been fixed.

+84 -13

1 comment

7 changed files

tony2001

pr closed time in 2 months

issue commentlaruence/yar

服务端示例更新

你可以弄个PR?

showx

comment created time in 2 months

push eventlaruence/yar

Christoph M. Becker

commit sha 163b29f9bd67047875695aa8e1d60272c13b5e56

Add missing library dependencies Recent libcurl version require these on Windows.

view details

Xinchen Hui

commit sha 55db1702dbd5cc8ad6eb31332a91d3e63bb25cd2

Merge pull request #144 from cmb69/cmb/lib-deps Add missing library dependencies

view details

push time in 2 months

PR merged laruence/yar

Add missing library dependencies

Recent libcurl version require these on Windows.

+7 -1

0 comment

1 changed file

cmb69

pr closed time in 2 months

push eventlaruence/yar

Christoph M. Becker

commit sha 8e9983eb3b7d0821fed7cdcdfa8b85cdfb3ba889

Replace uint with unsigned As of PHP 7.4.0, the portable definition of `uint` is no longer available, so we replace it with `unsigned`.

view details

Xinchen Hui

commit sha 7ca242b1bd872c2fd5743fd318980300842e197f

Merge pull request #145 from cmb69/cmb/uint Replace uint with unsigned

view details

push time in 2 months

PR merged laruence/yar

Replace uint with unsigned

As of PHP 7.4.0, the portable definition of uint is no longer available, so we replace it with unsigned.

+11 -11

0 comment

8 changed files

cmb69

pr closed time in 2 months

push eventlaruence/yar

Xinchen Hui

commit sha b62f7c9b8b7af710fd4e0c58585658b89b3c179b

attempt to fix test

view details

push time in 2 months

pull request commentlaruence/taint

fix build with PHP 7.0

it should be fixed...

remicollet

comment created time in 2 months

push eventlaruence/taint

Jan-E

commit sha 4be633fd58ba9db83d4effa241b8f00639d743a6

Fix missing PHP_7_0

view details

Xinchen Hui

commit sha 4a6c4cb2613e27f5604d2021802c144a954caff8

Merge pull request #62 from Jan-E/fix_PHP_7_0 Fix missing PHP_7_0

view details

push time in 2 months

PR merged laruence/taint

Fix missing PHP_7_0

@laruence See https://github.com/laruence/taint/issues/59#issuecomment-399406658

+8 -8

2 comments

1 changed file

Jan-E

pr closed time in 2 months

push eventlaruence/taint

Xinchen Hui

commit sha 7fded032c06c207afdc18aa35cad2a32e774e2bf

Revert "Fixed issue #68" This reverts commit 7abaec6d72a8439561a44c1b06da9d8f7eb6157c.

view details

push time in 2 months

push eventlaruence/taint

Xinchen Hui

commit sha 7abaec6d72a8439561a44c1b06da9d8f7eb6157c

Fixed issue #68

view details

push time in 2 months

CommitCommentEvent

issue closedlaruence/yaconf

fpm 下 mtime 无法更新

fpm下

image

cli 下

$ php -v PHP 7.2.10 (cli) (built: Oct 11 2018 22:20:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.10, Copyright (c) 1999-2018, by Zend Technologies


$ php -i | grep -A10 yaconf yaconf yaconf support => enabled version => 1.0.7 yaconf config last check time => Sat Oct 20 17:57:19 2018 parsed filename => mtime test.ini => Sat Oct 20 17:45:03 2018 Directive => Local Value => Master Value yaconf.check_delay => 5 => 5 yaconf.directory => /webroot/.Yaconf => /webroot/.Yaconf


$ stat test.ini File: test.ini Size: 10 Blocks: 8 IO Block: 4096 regular file Device: 811h/2065d Inode: 932512 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ bobo) Gid: ( 1000/ bobo) Access: 2018-10-20 17:33:05.924045838 +0800 Modify: 2018-10-20 17:45:03.085220849 +0800 Change: 2018-10-20 17:45:03.085220849 +0800 Birth: -

closed time in 2 months

infatu8

issue closedlaruence/yaconf

Yaconf扩展不支持ini文件中的value字符串中有=号

我用laravel框架,然后想把原来的env文件用yaconf管理,但是 laravel里边需要设置APP_KEY 的值是个base64,里边有等号,导致yaconf无法解析ini配置文件,直接返回NULL

closed time in 2 months

tianjiawei

issue closedlaruence/yaconf

php-7.3.1编辑错误

/usr/local/src/php-7.3.1/ext/yaconf/yaconf.c: In function ‘php_yaconf_hash_init’: /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:90:15: error: lvalue required as left operand of assignment GC_FLAGS(ht) |= IS_ARRAY_IMMUTABLE; ^~ /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:91:15: error: lvalue required as left operand of assignment GC_FLAGS(ht) |= HASH_FLAG_STATIC_KEYS; ^~ /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:95:19: error: ‘HASH_FLAG_APPLY_PROTECTION’ undeclared (first use in this function); did you mean ‘_SC_MEMORY_PROTECTION’? GC_FLAGS(ht) &= ~HASH_FLAG_APPLY_PROTECTION; ^~~~~~~~~~~~~~~~~~~~~~~~~~ _SC_MEMORY_PROTECTION /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:95:19: note: each undeclared identifier is reported only once for each function it appears in /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:98:18: error: lvalue required as left operand of assignment GC_REFCOUNT(ht) = 2; ^ /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:103:23: error: ‘IS_TYPE_COPYABLE’ undeclared (first use in this function); did you mean ‘Z_OPT_COPYABLE’? Z_TYPE_FLAGS_P(zv) = IS_TYPE_COPYABLE; ^~~~~~~~~~~~~~~~ Z_OPT_COPYABLE /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c: In function ‘php_yaconf_str_persistent’: /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:149:16: error: lvalue required as left operand of assignment GC_FLAGS(key) |= IS_STR_INTERNED | IS_STR_PERMANENT; ^~ /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c: In function ‘php_yaconf_zval_persistent’: /usr/local/src/php-7.3.1/ext/yaconf/yaconf.c:171:8: error: ‘IS_CONSTANT’ undeclared (first use in this function); did you mean ‘RT_CONSTANT’? case IS_CONSTANT: ^~~~~~~~~~~ RT_CONSTANT Makefile:194: recipe for target 'yaconf.lo' failed make: *** [yaconf.lo] Error 1

closed time in 2 months

infatu8

push eventlaruence/yar

Xinchen Hui

commit sha e3df34167fa48023ce9e99d7de24d1aef93a52cf

Fixed typo

view details

push time in 2 months

CommitCommentEvent

push eventlaruence/yar

Xinchen Hui

commit sha b2c93ba6e663ea2e56df62795952b501e8b608d3

Fixed test in travis

view details

push time in 2 months

push eventlaruence/yar

Xinchen Hui

commit sha e10a6ee494050f7014800dd8d5b6739e164bd5a7

try to figure out what's wrong in traivs test

view details

push time in 2 months

push eventlaruence/yar

Xinchen Hui

commit sha 707c3caf3684f0588ead29c702cd7224f34d6a7d

revert change

view details

push time in 2 months

pull request commentlaruence/php-yaf-doc

Fix typo environ <- envrion

hahaha, sorry, didn't notice this PR before :<

netroby

comment created time in 2 months

push eventlaruence/php-yaf-doc

netroby

commit sha fd8fed12d69ac746d837c3bd5890dbd09bbed353

Update README.md

view details

Xinchen Hui

commit sha 02f3e2e672d8a8f8217097e0697f72c06be3746d

Merge pull request #15 from netroby/patch-1 Update README.md

view details

push time in 2 months

PR merged laruence/php-yaf-doc

Update README.md
+12 -12

2 comments

1 changed file

netroby

pr closed time in 2 months

pull request commentlaruence/taint

fix build with PHP 7.0

all 7.0.x? or only 7.0.0?

remicollet

comment created time in 2 months

CommitCommentEvent
more