- 浏览: 610102 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kangh:
转载的也拿出来 都不试一下 完全错误
Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解 -
wangtxlz:
#cd builders/cmake#cmake .系统提示命 ...
crtmpserver流媒体服务器的介绍与搭建 -
hnraysir:
支持支持支持
手机Android音视频采集与直播推送,实现单兵、移动监控类应用 -
wuent:
把web服务器和php框架绑定到一起?真不建议这样。。。
Swoole(PHP高级Web开发框架) -
wuent:
有更详细的性能比较吗?php,python,java
PHP中的(伪)多线程与多进程
一、APACHE编译配置
#./configure --prefix=/usr/local/apache2 --enable-rewrite=shared --enable-track-vars --enable-cgi --enable-so --enable-mods-shared=all --with-config-file-path=/usr/local/apache2/conf --with-mpm=worker
二、MYSQL编译配置
#./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --enable-assembler --with-readline --with-big-tables --with-plugins=all --with-tcp-port=3310 --with-unix-socket-path=/usr/local/mysql/data/mysql.sock --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-named-curses-libs=/usr/lib/libncursesw.so.5
./configure --prefix=/usr/local/mysql --with-named-curses-libs=/usr/lib/libncursesw.so.5
MYSQL编译安装时碰到的问题:
问题一、
configure: error: No curses/termcap library found
解决办法一如下:
./configure --with-named-curses-libs=/usr/lib/libncursesw.so.5
解决方法二如下:
(centos5系统):yum -y install ncurses-devel
其他linux系统请去http://www.rpmfind.net/下载该包安装
问题二、
[root@localhost bin]# ./mysql_install_db --user=mysql
FATAL ERROR: Could not find /usr/local/mysql/libexec/mysqld
三、GD库安装
jpeg6安装:./configure --prefix=/usr/local/modules/jpeg6/ --enable-shared –enable-static
问题一、
checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
在做 configure 的时候,报上述的错误。
解决方案:
把 /usr/share/libtool/config.guess 覆盖到相关软件自带的config.guess
把 /usr/share/libtool/config.sub 覆盖到相关软件自带的config.sub
./configure --enable-shared --enable-static
make libdir=/usr/lib64
make libdir=/usr/lib64 install #e4@"A(N#q8q#e5a)G.I4^7e
使用64位函数库编译.
这样就可以通过了。
libpng安装:./configure --prefix=/usr/local/modules/libpng/ --enable-shared --enable-static
出现错误,解决办法:更新libpng基础包:yum install libpng*
安装PNG:
#tar –zvxf libpng-1.2.24.tar.gz
#cd libpng-1.2.24
#cp scripts/makefile.gcmmx makefile
#./configure –prefix=/usr/local/libpng2
#vi Makefile
找到CFLAGS= -g –O2后面加上 –fPIC (这里是关键)
#make && make
安装Zlib(zlib-1.2.3):
第一步:安装zlib基本库:yum install zlib*
第二部:更新zlib库:yum update zlib*
第三步:#cd zlib-xxx/ #./configure
第四步:config后修改Makefile文件
找到
CFLAGS= -DUSE_MMAP
修改为 CFLAGS=-O3 -DUSE_MMAP -fPIC
第五步:make && make install
其中第三步和第四步也可以由下面一步代替
或者使用以下选项进行编译
CFLAGS="-O3 -DUSE_MMAP -fPIC" ./configure
GD编译配置
./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png=/usr/local/modules/libpng --with-zlib --with-freetype=/usr/local/modules/freetype
四、PHP安装
./configure --prefix=/usr/local/php5 --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png-dir=/usr/local/modules/libpng --with-freetype-dir=/usr/local/modules/freetype --with-libxpm --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-pear --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc --with-libxml-dir=/usr/lib --with-curl
./configure --prefix=/usr/local/php5 --with-gd --with-jpeg-dir --with-zlib --with-png-dir --with-freetype-dir --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-pear --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc --with-libxml
/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] 错误 1
解决方法:
方法一、安装zlib包已经zlib-devel包,就OK了
方法二、
编译gdlib库碰到undefined reference to `png_check_sig’问题解决
采用源码方式编译php,需要gd库,同样采用源码编译,在编译过程中碰到 undefined reference to `png_check_sig’ 错误。
google了一下,发现由于使用的新的 libpng 1.4版本,去掉了png_check_sig函数,替换为了png_sig_check函数
,于是编辑gd库的 gd_png.c文件,将
1.
if (!png_check_sig (sig, 8)) { /* bad signature */
2.
return NULL;
3.
}
修改为
1.
if (png_sig_cmp (sig, 0, 8)) { /* bad signature 注意这里的参数不同*/
2.
return NULL;
3.
}
再次编译通过
错误一、
ext/gd/libgd/.libs/gd_png.o: In function `php_gd_gdImageCreateFromPngCtx':
/root/downloads/php-5.2.13/ext/gd/libgd/gd_png.c:142: undefined reference to `png_check_sig'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1
把 `png_check_sig' 改为了 ‘png_sig_cmp’
[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通过了
现在编译通过了。
APACHE启动报错:
/usr/local/apache2/bin/apachectl restart
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host2.example.com] does not exist
原因:
/usr/local/apache2/conf/extra/httpd-vhosts.conf 中一些 DocumentRoot不存在于之对应的实体文件。
linux下php扩展cURL的安装
方法一
安装cURL
# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz
# tar -zxf curl-7.17.1.tar.gz
# ./configure --prefix=/usr/local/curl
# make; make install
安装php
只要打开开关 --with-curl=/usr/local/curl
就可以了。
这个扩展库还是非常棒,是fsockopen等等相关的有效的替代品。
方法二
进入安装原php的源码目录,
cd ext
cd curl
phpize
./configure --with-curl=DIR
make
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
复制curl.so文件到extensions的配置目录,修改php.ini就好了
问题
配置php支持curl的时候, 出现如下报错
checking for cURL in default path... not found
configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
原因其实就是curl的dev包没有安装, 解决方案:
终端下
# yum -y install curl-devel
然后就可以继续了
PHP扩展包的安装(这里以 mcrypt为例,环境为Centos5.4系统):
第一步:先确认安装了安装包的基础包,通常使用系统更新安装即可:
yum list libmcrypt*
yum install libmcrypt*
第二步:进入PHP源码解压后的目录中,如我这里是php-5.2.13,#cd /root/downloads/php-5.2.13/ext/mcrypt
如果没有mcrypt则需要到网站上去下载,通常是自带了的。
第三步:执行phpize, #/usr/local/php5/bin/phpize
第四步:编译configure: ./configure --with-php-config=/usr/local/php5/bin/php-config
这里需要指定php-config的目录,然后仔细make,这里将生成一个mcrypt.so文件在 ./modules/mcrypt.so
第五步:拷贝./modules/mcrypt.so 到 php 的extension_dir 目录中.
cp ./modules/mcrypt.so /usr/local/php5/include/php/include/
第六步:确定php.ini文件中的 extension_dir= /usr/local/php5/include/php/include/
然后加上 extension = mcrypt.so;
第七步:重启apache,查看phpinfo看mcrypt是否已经加上。
发表评论
-
svn上想回滚代码怎么办?——svn merge 命令
2015-06-03 23:42 0在 shell 里输入 svn help merge ,可以 ... -
select、poll、epoll之间的区别总结
2015-04-02 11:49 0select,poll,epoll都是IO多路复用的机制。I ... -
TCP状态转移图学习总结 (转)
2015-04-02 11:37 0TCP状态转移图学习总结 (转) 这是网络编程的基础,t ... -
nginx、php-fpm默认配置与性能–TCP socket还是unix domain socket
2015-04-02 11:14 1472前几天看到一篇博客,提到php所在服务器在大并发情况下,频 ... -
使用socket方式连接Nginx优化php-fpm性能
2015-04-01 13:49 0Nginx连接fastcgi的方式有 ... -
PHP中include和require的区别详解
2015-04-01 08:32 01、概要 require()语句的性能与includ ... -
PHP 中cookie 和 session 的分析
2015-03-31 12:33 0HP 中cookie 和session 的分析 ... -
php 经典的算法题你懂的
2015-03-31 12:31 0有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来, ... -
PHP最常用的2种设计模式工厂模式和单例模式介绍
2015-03-31 12:26 0简单来说,PHP单例模式就是一个功能用一个类来实现,并且在整 ... -
PHP 数据类型
2015-03-31 12:23 0PHP 数据类型 PHP 支持八种原始类型(type)。 ... -
PHP mcrypt启用、加密以及解密过程详解
2015-03-30 11:32 1463Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密, ... -
Linux strace命令
2015-03-27 16:22 649简介 strace常用来跟踪进程执行时的系统调用和所接收的 ... -
PHP扩展实现类扩展
2015-03-27 14:08 580在第一篇文章中,我们所开发的扩展是单个函数,本篇文章看一下 ... -
RPC框架yar安装
2015-03-10 12:03 1433官方网站; http://pecl.php.net/pac ... -
PHP高级工程师的面试题
2015-03-06 10:35 01. 基本知识点 HTTP协议中几个状态码的含义:1x ... -
PHP面试中常见的面试试题与算法例子
2015-03-05 14:14 0下面是四道比较常见的题目,主要考察的是对字符串函数以及文件操 ... -
PHP实现四种常用的排序算法
2015-03-05 14:09 0插入排序(Insertion Sort),选择排序(Sele ... -
用swagger-php/ui做API测试
2015-02-13 09:46 3652功能: 1 swagger-php根据自定义的规则生成API ... -
一步一步搭建 OAuth 认证服务器
2015-02-03 10:53 1480现在越来越多开放的互 ... -
app后端设计(0)--总目录
2015-01-23 18:03 0做了3年app相关的系统架构,api设计,先后在3个创业公司中 ...
相关推荐
标题 "兄弟连lamp环境搭建源码包lamp-php5.4" 指向的是一个用于在Linux系统上搭建LAMP(Linux、Apache、MySQL、PHP)开发环境的源码包,特别针对PHP5.4版本。这个源码包可能是由兄弟连教育机构提供的,旨在帮助学员...
LAMP(Linux + Apache + MySQL + PHP)是一种常见的开源Web开发平台,因其免费、灵活且功能强大而被广泛应用于各种网站和应用程序的构建。在这个"Lamp安装包"中,包含了不同版本的PHP,让我们来详细探讨一下这些组件...
1. **安装环境**:推荐使用CentOS 5.4作为操作系统,同时准备osTube的最新版本(例如v2.4)。 2. **搭建LAMP平台** - **安装Linux、Apache和MySQL**:从CentOS官网下载镜像,安装时选择“现在定制”,确保添加...
- **LAMP平台搭建**:给出了在RHEL 5.4下构建LAMP平台的具体步骤,帮助用户快速搭建Web服务环境。 以上内容不仅涵盖了开源社区最新的技术进展,还深入探讨了开源文化的意义、开源技术的发展趋势以及在实践中的应用...
- **Poco**:一个跨平台的C++网络编程类库,适用于构建高性能的网络服务器和客户端应用程序。 - **HAProxy**:一款提供高可用性、负载均衡及代理功能的软件。 #### 四、服务端架构选型 - **Linux**:不同的Linux...
完成以上步骤后,你应该已经成功地在CentOS 6.5上构建了LAMP环境,并安装了 Zend Guard Loader,可以运行PHP应用并利用Zend Guard Loader对代码进行保护和优化。记得定期更新这些组件以保持系统的安全性和稳定性。
此外,Android操作系统也是基于Linux内核构建的,这进一步证明了Linux在移动设备领域的广泛应用。未来几年内,Linux专业人才的需求将持续增长,特别是在云计算、大数据分析、物联网等领域。 **1.3 Linux系统安装** ...
##### 5.3 LAMP环境 LAMP(Linux + Apache + MySQL + PHP)是构建动态Web应用的经典组合: - **Apache**:安装Apache作为Web服务器。 - **MySQL**:安装MySQL作为数据库服务。 - **PHP**:安装PHP解析器,实现动态...