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通过了
相关文档:
原文链接:http://www.phpdo.net/index.php/2010/02/02/1-9/
PHP中Include语句在用法上和require语句基本相同,但是他们还存在两点差异:
机制不同
Require语句在进行文件包含时,不管这条require语句是否被运行,都会将被包含代码中的文件包含进来。
Include语句在进行文件包 ......
0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽量 ......
PHP手册上提供了以下一些主要的mysql数据库的支持函数:
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
mysql_change_user -- 改变活动连接中登录的用户
mysql_client_encoding -- 返回字符集的名称
mysql_close -- 关闭 MySQL 连接
mysql_connect -- 打开一个到 MySQL 服务器的连接
mysql_c ......
PHP100分页代码修改版,算伪原创吧
下面是测试的过程:
文件page.php,代码如下:
<?php
/*
* author:php100.com 论坛 nicholas_ng
*/
function page($page,$total,$phpfile,$pagesize=3,$pagelen=3){
$pagecode = '';//定义变量,存放分页生成的HTML
$page = intval($page);//避免非数字页码
$total = intval($ ......