易截截图软件、单文件、免安装、纯绿色、仅160KB

php编译gd出错!(已解决)

php编译gd出错!(已解决)
在32位ubuntu9.04上编译php5.2.12,到gd时make出错:
ext/gd/libgd/.libs/gd_png.o: In function
`php_gd_gdImageCreatefromPngCtx':
/home/test/php-5.2.12/ext/gd/libgd/gd_png.c:142: undefined reference to
`png_check_sig'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1
直接下载gd,在gd目录make也类似的错
gcc -g -O2 -o .libs/annotate annotate.o /usr/local/lib/libiconv.so
-Wl,-rpath -Wl,/usr/local/lib  -L/usr/local/lib
./.libs/libgd.so /usr/local/lib/libjpeg.so /usr/local/lib/libfreetype.so
/usr/local/lib/libpng14.so -lz -lm
./.libs/libgd.so: undefined reference to `png_check_sig'
collect2: ld returned 1 exit status
make[2]: *** [annotate] 错误 1
make[2]:正在离开目录 `/home/test/gd-2.0.35'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/test/gd-2.0.35'
make: *** [all] 错误 2
把php版本换为5.2.8也错,而且从上面单独编译gd错来看,与php无关.libpng已编译安装了的
网上搜索不到原因
补充:现在解决了.
可以参见
[url]http://aspn.activestate.com/ASPN/Mail/Message/php-dev/3803631[/url]
可以算是php的一个bug,libpng-1.4.0源码中的libpng-1.4.0.txt有说明,已经取消了png_check_sig这个函
数,改用png_sig_cmp代替.自从libpng-0.90就已经反对使用png_check_sig函数了.这个帖子中采用修改php源码的方
法,编辑ext/gd/libgd/gd_png.c,将
if (!png_check_sig (sig, 8)) { /* bad signature */
换成
if (png_sig_cmp (sig, 0, 8)) { /* bad signature */
但我不知道其他哪些地方有没有这个函数,所以我还是用libpng-1.2.35吧,看libpng-1.2.35.txt,就没有提
png_check_sig的事.
编译安装libpng-1.2.35后,php-5.2.12的make通过了


相关文档:

PHP——特殊的全局变量


原文链接:http://www.phpdo.net/index.php/2010/02/01/1-8/
PHP不提供跨脚本的全局变量,但是,因为实际的需要,PHP提供了一些特殊的全局变量用来实现这些操作。
 $_GET[]:接收来自用户浏览器使用GET方法发送的变量的数组
 $_POST[]:接收来自用户浏览器使用POST方法发送的变量的数组
 $_COOKIE[]: ......

php学习知识点

1.call_user_func 函数类似于一种特别的调用函数的方法,使用方法如下:
function a($b,$c)
{
   echo $b;
   echo $c;
}
call_user_func('a','111','222');
call_user_func('a','333','444');
//显示111222333444
调用类内部的方法比较奇怪,用的是array,与php5的静态方法相同,即等同于class ......

php环境搭建(自己也写一篇)

首先注意版本问题,一定要仔细查看php manual上的内容,如http://www.php.net/manual/en/install.windows.apache2.php 上有一个note:
Note
:
Apache 2.2 Support

Users of Apache 2.2 should note that the DLL file for Apache 2.2 is
named php5apache2_2.dll
rather than php5apache2.d ......

php效率高写法 (转)

0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽量 ......

PHP访问MySQL数据库

PHP手册上提供了以下一些主要的mysql数据库的支持函数:
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
mysql_change_user --  改变活动连接中登录的用户
mysql_client_encoding -- 返回字符集的名称
mysql_close -- 关闭 MySQL 连接
mysql_connect -- 打开一个到 MySQL 服务器的连接
mysql_c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号