CentOS下编译php时的一些典型错误及解决办法
2015-12-20 21:01
676 查看
yum安装必要工具(能解决比编译遇到到基本问题):
yum -y install gcc gcc-c++ make cmake automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel openldap openldap-devellibxslt-develconfigure: error: xml2-config not found. Please check your libxml2 installation.
configure: error: Cannot find OpenSSL’s
yum install openssl-develconfigure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
configure: error: libjpeg.(a|so) not found
configure: error: libpng.(a|so) not found.
yum install libpng-develconfigure: error: libXpm.(a|so) not found.
configure: error: freetype.h not found.
yum install freetype-devel
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
yum install libc-client-devel
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install libmcrypt-devel
configure: error: Please reinstall libmhash – I cannot find mhash.h
yum install mhash-devel
configure: error: Cannot find MySQL header files under /usr.Note that the MySQL client library is not bundled anymore!
yum install mysql-devel
configure: error: Please reinstall ming distribution. libming.(a|so) not found- temp remove the config for ‘–with-ming=/opt/ming/’configure: error: Cannot find pspell
yum install pspell-devel
configure: error: cannot find mm libraryDownload from http://www.ossp.org/pkg/lib/mm/wget ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gztar -zxvf mm-1.4.2.tar.gz./configuremakemake installconfigure: error: Cannot find libtidyyum install libtidy-develyum install libtidychange path at configure: ‘–with-tidy=/usr’configure: error: not found. Please reinstall the expat distribution.
yum install expat-devel
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
*Tips: To uninstall, just enter:yum remove {package-name}转载请注明:半叶寒羽
configure: error: mcrypt.h not found. Please reinstall libmcrypt
我是在CentOS6.5安装php5.5.28这个版本,PHP编译代码如下:./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --with-fpm-user=php --with-fpm-group=php --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-pear --with-gettext --enable-session --with-curl --enable-exif安装过程不再赘述。因为在编译安装时没有把mcrypt这个扩展编译进去,所以在phpmyadmin里有这样一句提示:缺少 mcrypt 扩展。请检查 PHP 配置。另外在独立安装mycrypt扩展时,报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt.现在把mcrypt扩展安装过程贴出来,希望对遇到此类问题的朋友有帮助:1.首先编译安装 libmcrypt, mhash, mcrypt 二进制源码包。========================================下载libmcrypt-2.5.8.tar.gztar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8./configure --prefix=/usr/local/related/libmcryptmake make install=========================================下载mhash-0.9.9.9.tar.gztar zxvf mhash-0.9.9.9cd mhash-0.9.9.9./configrue --prefix=/usr/local/related/mhashmakemake install=========================================tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/libexport LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/"export CFLAGS="-I/usr/local/related/mhash/include/"./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcryptmakemake install=========================================cd /usr/local/src/develop/php-5.5.28/ext/mcrypt/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=/usr/local/related/libmcryptmakemake install生成的mcrypt.so文件已经被发送到 /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so因为我在php.ini设置extension_dir = /usr/local/php/extensions,所以需要执行:cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so /usr/local/php/extensions然后在php.ini里面添加:extension=mcrypt.so重启php,执行: service php-fpm restart运行phpinfo(),发现新增了mcrypt扩展项,而且phpmyadmin里面关于mcrypt的提示也不见了。在安装过程中走了弯路,一度鄙视这种编译安装方式,多亏了这位大神发的帖子帮忙。详见: http://segmentfault.com/q/1010000000094627相关文章推荐
- linux编码
- Linux下执行定时任务
- Linux 学习第三周
- Centos7 x64 javaWeb环境搭建
- linux-->touch命令详解
- linux-->cat命令详解
- Linux常见服务(守护进程)
- Linux vi vim 常用快捷键操作(一)
- CENTOS 服务器安装WordPress流程
- CentOS x64上Matlab R2015b的镜像安装方法与卸载
- 如何更改Linux中默认的openjdk为自己安装的JDK
- Linux——磁盘基本概念
- Linux——Vi、Vim编辑器命令基础
- linux 中cut 命令的用法
- Linux软RAID配置
- CentOS 7系统中恢复Windows 7启动项
- CentOS: make menuconfig error: curses.h: No such file or directory
- Linux系统下安装rz/sz命令及使用说明
- 设备驱动的艺术之旅 - Linux 网卡驱动
- 学习linux进阶路线图