当前位置:首页 » 编程语言 » 编译安装php55

编译安装php55

发布时间: 2022-11-29 19:37:36

A. 如何编译安装php扩展

一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx

但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev

Fedora
sudo yum install php-devel php-mysqlnd gcc libtool

RHEL
sudo yum install php-devel php-mysql gcc libtool

Suse
yast2 -i php5-pear php5-devel php5-mysql gcc

安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9

前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg

ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install

下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config

git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install

将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`

这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini

上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl

如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini

最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart

B. 编译安装的php5.6怎么重启

1.首先添加依赖应用
yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel
这一步是为了支持一些php运行的东西,还有以下编译需要的
2.安装加密扩展库
cd /usr/local/src/
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
3.到php压缩包存放的目录下
tar zxvf php-5.6.8.tar.gz #解压
cd php-5.6.8 #进入文件夹
运行
[root@VPS php-5.6.8]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysql-sock --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-fpm --with-ncurses --enable-soap --with-libxml-dir --with-XMLrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --disable-mbregex --disable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sqlite-utf8 --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear

C. 如何编译安装PHP扩展

在php.ini中 找到你要打开的模块 然后把前面的分号删掉 就意味着你打开了该模块的功能

D. 源码编译安装php都需要哪些基础安装包

搭建Nagios时记录的安装PHP步骤:

tar -zxvf libxml2-2.7.8.tar.gz

cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make
make install

tar -zxvf php-5.4.10.tar.gz
cd php-5.4.10

./configure \
--prefix=/usr/local/php \
--with-apxs2=/var/httpd/bin/apxs \
--with-libxml-dir=/usr/local/libxml2 \
--enable-maintainer-zts

make
make install

cp php.ini-development /usr/local/lib/php.ini
# cp /usr/lib/httpd/moles/libphp5.so /var/httpd/moles/

vi httpd.conf
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
# LoadMole php5_mole moles/libphp5.so

E. 源码编译安装php都需要哪些基础安装包

源码编译安装php都需要哪些基础安装包
关于DDE通讯,给你一个经典的例子:

Step 1:
新建一个VB工程
把Form1的
Caption设置为工程1
WindowState设置为Minimized
LinkMode设为Source
LinkTopic设为Form1
在Form1添加TextBox,text1
设置text1的text值为:这是EXE文件中TEXT1中的数据
编译生成 工程1.EXE

Step 2:
再建一个VB工程
把Form1的
LinkMode设为Source
LinkTopic设为Form1
在Form1添加TextBox,text1
把工程保存在一个文件夹内,把上面所做的工程1.EXE复制到这个文件夹内.

F. 如何使用app console on device

app console命令是Symfony2中的了,这个命令是小编用到的比较多了,用到多问题也不少了,下文我们来整理一些app console问题总结。

本人在使用php app/console -s进入symfony的shell界面时,上下左右键分别变成^[[A^[[B^[[C^[[D这种样子。另外在使用table键补齐时只是把table键变成缩进,使用过程中非常的不方便。
解决思路:
1、直接搜索^[[A^[[B^[[C^[[D,无果。
2、突然想起以前在python环境中也遇到到类似问题,于是搜索多了一个参考条件。”python shell 乱码”
3、在查找python过程中遇到了readline这个东西
4、然后搜索php readline之后,发现php有个readline扩展。
下面是解决方案1:
下载php源码编译安装,编译安装的时候重新安装readline扩展。

cd php-5.5.20/ext/readline
###执行phpize,并开始编译###
phpize
./configure
make && make install
解决方案2:
经测试,MAMP自带的php各个版本均不包含readline模块,所以也可选择brew安装php。
brew install php55
可能存在php版本链接的问题,ln命令链接一下即可解决,不再赘述。
##完

G. 源码编译安装php都需要哪些基础安装包

我上次在远标搭建Nagios时记录的安装PHP步骤:
tar -zxvf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make
make install

tar -zxvf php-5.4.10.tar.gz
cd php-5.4.10

./configure \
--prefix=/usr/local/php \
--with-apxs2=/var/httpd/bin/apxs \
--with-libxml-dir=/usr/local/libxml2 \
--enable-maintainer-zts

make
make install

cp php.ini-development /usr/local/lib/php.ini
# cp /usr/lib/httpd/moles/libphp5.so /var/httpd/moles/

vi httpd.conf
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
# LoadMole php5_mole moles/libphp5.so

从你的报错信息来看,就挨个解决这三个问题吧:
Perl is not installed
apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
Apache was not built using --enable-so (the apxs usage page is displayed)

H. 如何在编译好的PHP环境中安装PHP扩展模块

1、先进入php解压缩后的源码包中,找到要安装的扩展模块的目录。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目录下面以绝对路径运行phpize程序,这时会自动生成sockets的configure程序,在sockets目录下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、进行编译安装
[root@redhat5 sockets]# ./configure --with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
执行完make install屏幕上会提示sockets.so存放的路径,然后把它复制到php的extensions目录中,例如我的路径为 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = "./" 这行,修改为:
extension_dir = "/home/webserver/php5.2.12/lib/php/extensions/"
然后再新增加一行:
extension=sockets.so
4、重启apache即可生效。 希望能帮到你,我还要抓紧时间自己在后盾人自己学习呢,一起加油吧(づ ̄ ³ ̄)づ

I. linux php 5.5安装问题,php.ini不起作用

重新编译下
--with-config-file-path=/usr/local/services/php5.5/php.ini
很单纯你干嘛不写成/usr/local/services/php55这样的

J. 请问编译安装php时一定要先安装各种库么

PHP的源码中的ext目录下的那些东西,并不是你所说的“库”本身的源代码,而是用了这些库的PHP的C写的扩展的源代码,这些扩展,依赖于你所说的freetype,GD之类的库,所以要先安装那些库,然后再在安装PHP的时候编译,如果你暂时不需要这些扩展,可以在php编译的./configure时屏蔽掉这些扩展(详见./configure --help)。扩展不需要了,自然它们的依赖库也不需要了,但如果以后你需要,那你还是要先安装这些依赖库,然后再安装php的扩展(编译成.so)

热点内容
压缩面食 发布:2024-05-05 18:55:45 浏览:803
linux的gz解压命令 发布:2024-05-05 18:24:13 浏览:311
服务器机柜属于什么辐射 发布:2024-05-05 18:02:10 浏览:336
存储成本计算 发布:2024-05-05 18:02:10 浏览:584
如何把手机改安卓10 发布:2024-05-05 17:39:07 浏览:498
我的世界怎么扩容服务器内存 发布:2024-05-05 17:19:54 浏览:48
java读取文件字符 发布:2024-05-05 17:15:18 浏览:11
三星怎么应用加密 发布:2024-05-05 17:13:18 浏览:152
cad字体在那个文件夹 发布:2024-05-05 17:08:20 浏览:331
什么时候用编译器 发布:2024-05-05 17:08:20 浏览:766