[patch] php-scws 扩展在 5.4.x 下的编译兼容补丁

近期 php5.4.x 已经正式发布,已有网友在使用并汇报说 scws 的 PHP 扩展无法编译通过。

刚看了一下,因为 5.4.x 起 php 移除了 safe_mode 导致一些代码错误不通过编译,简单修改补丁如下,请大家先手动修改一下,稍后 scws-1.1.10 发布时会同步解决,并推出 5.4 的 win32 dll 文件。

Index: php_scws.c
===================================================================
RCS file: /home/cvsroot/scws/phpext/php_scws.c,v
retrieving revision 1.13
diff -c -r1.13 php_scws.c
*** php_scws.c 23 Dec 2011 07:05:26 -0000 1.13
--- php_scws.c 5 Mar 2012 03:32:46 -0000
***************
*** 359,368 ****
--- 359,370 ----
if (!(fullpath = expand_filepath(filepath, NULL TSRMLS_CC)))
RETURN_FALSE;

+ #if PHP_API_VERSION < 20100412
if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
efree(fullpath);
RETURN_FALSE;
}
+ #endif

if (php_check_open_basedir(fullpath TSRMLS_CC)) {
efree(fullpath);
***************
*** 408,417 ****
--- 410,421 ----
if (!(fullpath = expand_filepath(filepath, NULL TSRMLS_CC)))
RETURN_FALSE;

+ #if PHP_API_VERSION < 20100412
if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
efree(fullpath);
RETURN_FALSE;
}
+ #endif

if (php_check_open_basedir(fullpath TSRMLS_CC)) {
efree(fullpath);
***************
*** 456,465 ****
--- 460,471 ----
if (!(fullpath = expand_filepath(filepath, NULL TSRMLS_CC)))
RETURN_FALSE;

+ #if PHP_API_VERSION < 20100412
if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
efree(fullpath);
RETURN_FALSE;
}
+ #endif

if (php_check_open_basedir(fullpath TSRMLS_CC)) {
efree(fullpath);

[patch] php-scws 扩展在 5.4.x 下的编译兼容补丁》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注