一开始安装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
⑵ Linux系统下源代码编译方式安装软件的大致步骤
是什么语言呢? linux下多数用gcc
⑶ centos7怎么编译安装nginx
安装环境为:最小化安装的centos7,关闭seliunx。
最小化安装centos:
关闭selinux
sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
开始安装nginx1.7.8
创建群组
groupadd www
创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/nologin -g www -M www
#下载最新版nginx
wget -C http://nginx.org/download/nginx-1.7.8.tar.gz
tar zxvf nginx-1.7.8.tar.gz
#编译基本能运行的nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_mole --with-http_ssl_mole --with-http_gzip_static_mole
make
make install
如果有错误提示:
./configure: error: C compiler cc is not found
解决方法:
yum install gcc gcc-c++
如果有错误提示:
./configure: error: the HTTP rewrite mole requires the PCRE library.
You can either disable the mole by using –without-http_rewrite_mole
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using –with-pcre=<path> option.
解决方法:
yum install pcre-devel
如果有错误提示:
./configure: error: SSL moles require the OpenSSL library.
You can either do not enable the moles, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using –with-openssl=<path> option.
解决方法:
yum install openssl-devel
以上错误提示依次解决后:再一次的运行
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_mole --with-http_ssl_mole --with-http_gzip_static_mole
make
meke install
编译参数解释:
#指定运行权限的用户
--user=www
#指定运行的权限用户组
--group=www
#指定安装路径
--prefix=/usr/local/nginx
#支持nginx状态查询
--with-http_stub_status_mole
#开启ssl支持
--with-http_ssl_mole
#开启GZIP功能
--with-http_gzip_static_mole
因此要顺利的通过nginx编译安装必须安装的依赖关系有:
yum install gc gcc gcc-c++ pcre-devel zlib-devel openssl-devel
2、在 centos7 中为nginx的启动、重启、重载配置添加脚本
nginx直接启动的方法:
/usr/local/nginx/sbin/nginx
但是不是很方便,因此使用下面的脚本来控制nginx的启动关闭重载更加合理一些。
编辑文件:vim /usr/lib/systemd/system/nginx.service 添加下面的脚本,注意路径 !
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl的一些使用方法:
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable xxx.service #开机运行服务
systemctl disable xxx.service #取消开机运行
systemctl start xxx.service #启动服务
systemctl stop xxx.service #停止服务
systemctl restart xxx.service #重启服务
systemctl reload xxx.service #重新加载服务配置文件
systemctl status xxx.service #查询服务运行状态
systemctl --failed #显示启动失败的服务
因此,添加上面脚本后,centos7 中操作nginx的方法有
systemctl is-enabled nginx.service #查询nginx是否开机启动
systemctl enable nginx.service #开机运行nginx
systemctl disable nginx.service #取消开机运行nginx
systemctl start nginx.service #启动nginx
systemctl stop nginx.service #停止nginx
systemctl restart nginx.service #重启nginx
systemctl reload nginx.service #重新加载nginx配置文件
systemctl status nginx.service #查询nginx运行状态
systemctl --failed #显示启动失败的服务
⑷ 如何在Windows里的MingW里编译安装OpenCV2.4.X
安装方法:1、下载opencv for windows安举誉装包,目前最新的安装慎谈包opencv-2.4.8版本。双击打开解压,如:正孝段解压目录为D:\Program Files。2、解压后D:\Program Files下多了一个opencv文件夹,里面只有两个文件,如下图所示:
⑸ 如何编译生成安装软件
没编译之前的易程序,对方安装了易语言才能用,要编译才行。官网免费版无法编译 可以在网上下易语言5.11破解版。可以编译按,出来这个在文件名那写编译过后想给那个文件取的名字。如DDDDDDDDDD、易程序、??~、………………然后按保存会出来个什么写出和不写出,按写出就编译好了成了这样: 回答完毕!-------------------------------------------------------------------------
⑹ 易语言编译生成安装软件怎么用
易语言编译生成.EXE的系统可执行安装软件,方法如下(点击菜单栏上面的“编译”--“编译/静态编译/编译生成安装软件”三种方法):
1.直接编译(将所有程序关联文件夹写在一个程序里边)除了EXE文件以外,同时会生成很多关联文件。
2.静态编译(将所有的程序卸写在一个可执行文件中)除了EXE, 没有其他关联文件, 关联文件全部封装进exe文件中。
3.编译生成安装软件(需要用户安装时候, 才能使用)一般主要用于和数据库关联的程序。
注:如果该程序不需要数据库支持, 一般都会只用静态编译成安装软件。
⑺ eclipse 怎么安装编译器
eclipse 安装编译器方法步骤:
准备工作
1下载eclipse
2下载“jdk”
eclipse 安装:
解压下载的eclipse文件,不需要安装,解压到想要的目录。
首次打开eclipse.exe,会让设置工作空间,最好不要放在c盘。
打开eclipse后,在Window-->Preferences-->java-->Installed JREs。看路径是不是和安装的jdk路径一致。
把eclipse中Java编译器版本改成最大,在Window-->Preferences-->Java-->Compiler。
为了防止在以后的开发中,出现打个空格却变成了小黑点什么的怪象,把eclipse中,展开Window-->Preferences-->General-->Editors-->Text Editors去掉Show whitespace characters前面的钩。
到这里windows下eclipse+java开发环境就配置好了,可以试试。
⑻ centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static -y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7
执行
../make #不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make -j16
make install编译过程CPU 核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
⑼ linux上的编译安装的基本概念是什么,具体的流程又是怎么个样子
计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型,解释型就不说了,编译型就是在写好程序的源码以后对程序进行编译,编译成二进制的可执行代码。
在linux中很多软件的源码都会伴随着软件一起发布,软件就是经过编译的一些二进制的文件,这些二进制文件由源码编译而来。所以当我们拿到了软件的源码的时候,可以根据源码编译出软件,然后对软件进行安装,这就是你所说的编译安装了,对于非电脑专业的人不需要了解那么多,涉及的东西比较多,要知道在编译的时候需要设置编译参数的,,
所以会拿deb rpm包来安装就行了。。使用打包好的二进制包安装的另外的好处就是可以由包管理系统进行管理可以方便的对软件包进行安装升级和卸载,如果是源码编译那么就需要自己手动的管理了。
具体的流程没那么复杂,linux软件发布的源码都是有标准格式 的,通常是tar.gz tar.bz2这样的压缩包,
tar xvf xxx.tar.gz 解压源码包
cd xxx 进入源码目录
more INSTALL 或者more README 阅读源码包里的安装说明,看不懂英语的可以跳过这步
./configure 参数 配置编译参数;最常见的是prefix=安装路径 这样可以把软件安装到一个指定目录而不是安装到系统的文件结构中(linux的文件结构可以参考FHS标准规范里的定义)
make 当上一步正确的执行后会生成一个Makefile文件,使用make命令可以对软件源码进行编译
make install 安装(可能会需要root权限)
//部分软件还会提供make test 这样的测试,在安装前可以运行make test 来测试软件是否编译正确。
⑽ 如何在linux平台上编译安装zlib软件
在linux命令行上查询一下zlib的软件地址,然后使用浏览器打开即可,
大家也可以在网络上进行搜索,不过一定要注意安全哦,避免下载到一些不干净的软件,所以这点需要注意一下
Gcc编译安装zlib源码包并配置使用
使用tar 命令进行解压出来,然后进入到安装目录,如下图所示
tar zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
使用./configure --help可以查看编译的选项,我们这里使用简单的选项安装即可
进入安装文件目录,然后 使用如下命令进行安装
./configure --prefix=/data/progam/zlib
make
make install
如下图所示
再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件
vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出
/data/program/zlib/lib
==============================
也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。