您的位置:

编译安装php7和php扩展,php8 编译

本文目录一览:

centos7 php7 安装扩展phalcon 报错

第一步:在百度中搜索Phalcon,一般第一个网站,进入网站,我们点击网站首页的download,目前该框架的最近版本是2.0

接着 我们找到我们的系统 这里我建议选用二进制的源码编译安装!

然后 我们根据网站上的提示 下载该框架托管在github上面的二进制源码,如图所示,(使用git命令时需要安装yum install git)

使用putty连接我们的linux系统 在linux系统/usr/local/src/下面输入步骤三图片上的命令 稍等片刻源码就会下载下来

源码下载完毕后会有一个cphalcon目录 我们用命令行切换到/usr/local/src/cphalcon/build

用vi编辑器打开install文件 按照下图配置 选择php-config(php安装位置各有不同)默认install 没有选择php-config的位置所有我们要自己动手

编辑完成 直接执行./install 动态编译加载php扩展

编译完成后打开php.ini文件添加phalcon的扩展 在php.ini中添加下图的扩展即可

最后一步php探针验证 !大工告成!

如何编译搭建php7+nginx+mysql

在Windows下配置搭建PHP环境的步骤:

一、准备工作-下载所需软件

Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

PHP php-5.3.10-Win32-VC9-x86.zip

MySQL mysql-5.5.20-win32.msi

二、安装软件

1、安装Apache: 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

安装完成之后,在浏览器输入,如果显示It Works!,表示Apache安装成功。

2、安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。

3、安装MySQL:双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom

安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。

三、整合Apache+PHP+MySQL

Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf。

1. 让Apache可以解析php文件,在配置文件中找到

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

在下一行添加 (绿色的位置是根据PHP的所在目录而定的)

LoadModule php5_module "D:/Develop/PHP/php5apache2_2.dll"PHPIniDir "D:/Develop/PHP"AddType application/x-httpd-php .php .html .htm

2. 在配置文件中找到

DirectoryIndex index.html

改为

DirectoryIndex index.php index.html

3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)

DocumentRoot "D:/Develop/Apache2.2/htdocs"

改为

DocumentRoot "D:/Workspace/PHP"

再找到

Directory "D:/Develop/Apache2.2/htdocs"

改为

Directory "D:/Workspace/PHP"

PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini

1. 设置PHP扩展包的具体目录,找到

; On windows:; extension_dir = "ext"

改为 (值是ext文件夹的目录)

; On windows: extension_dir = "D:/Develop/PHP/ext"

2. 开启相应的库功能,找到需要开启的库的所在行

;extension=php_curl.dll

;extension=php_gd2.dll

;extension=php_mbstring.dll

;extension=php_mysql.dll

;extension=php_xmlrpc.dll

去掉前面的分号(注释),即改为

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_xmlrpc.dll

3. 设置时区,找到

;date.timezone =

改为

date.timezone = Asia/Shanghai

配置完成,检测一下配置是否成功。重启Apache,在站点目录下新建文件index.php,输入内容。

如何在openSUSE42.1下编译安装PHP7

首先推荐一篇文章

PHP

7

Release

Date

Arrived:

Will

Developers

Adopt

PHP

7?

-

PHP

Classes

blog

里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?

笔者使用的是Linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了。作为一个PHP开发者,我是非常希望能够学会编译安装PHP7的,之前试过几次,但是每次安装都要上网找各种资料,于是乎,这次安装成功后就想把自己的安装过程以及遇到的问题记录下来,方便以后查阅和分享给需要的人。

下载源码并解压

进入正题,要编译安装PHP7,首先当然要下载PHP7的源码。你可以到

github

上clone,也可以到

PHP官网

下载。下载后解压到

/usr/local/src

目录,并将目录重命名为php7。进入目录。

配置编译参数

生成配置文件

./buildconf

配置

./configure

\

--prefix=/usr/local/php7

\

--exec-prefix=/usr/local/php7

\

--bindir=/usr/local/php7/bin

\

--sbindir=/usr/local/php7/sbin

\

--includedir=/usr/local/php7/include

\

--libdir=/usr/local/php7/lib/php

\

--mandir=/usr/local/php7/php/man

\

--with-config-file-path=/usr/local/php7/etc

\

--with-mysql-sock=/var/run/mysql/mysql.sock

\

--with-mcrypt=/usr/include

\

--with-mhash

\

--with-openssl

\

--with-mysqli=shared,mysqlnd

\

--with-pdo-mysql=shared,mysqlnd

\

--with-gd

\

--with-iconv

\

--with-zlib

\

--enable-zip

\

--enable-inline-optimization

\

--disable-debug

\

--disable-rpath

\

--enable-shared

\

--enable-xml

\

--enable-bcmath

\

--enable-shmop

\

--enable-sysvsem

\

--enable-mbregex

\

--enable-mbstring

\

--enable-ftp

\

--enable-gd-native-ttf

\

--enable-pcntl

\

--enable-sockets

\

--with-xmlrpc

\

--enable-soap

\

--without-pear

\

--with-gettext

\

--enable-session

\

--with-curl

\

--with-jpeg-dir

\

--with-freetype-dir

\

--enable-opcache

\

--enable-fpm

\

--disable-cgi

\

--with-fpm-user=nginx

\

--with-fpm-group=nginx

\

--without-gdbm

\

--disable-fileinfo

参数说明

prefix

PHP7安装的根目录

with-config-file-path

PHP7的配置文件目录

执行完上面的配置命令后的结果如下图所示:

执行上面命令的过程中会遇到一些依赖缺少的提示,下面列出我遇到的依赖问题:

错误:

configure:

error:

xml2-config

not

found.

Please

check

your

libxml2

installation.

解决:

zypper

install

libxml2-devel

错误:

configure:

WARNING:

unrecognized

options:

--with-mysql

解决:

取消这个选项,这个选项是不存在的

错误:

configure:

error:

jpeglib.h

not

found.

解决:

zypper

install

libjpeg-devel

错误:

configure:

error:

mcrypt.h

not

found.

Please

reinstall

libmcrypt.

解决:

zypper

install

libmcrypt-devel

错误:

checking

for

recode

support...

yes

configure:

error:

Can

not

find

recode.h

anywhere

under

/usr

/usr/local

/usr

/opt.

解决:

zypper

install

librecode-devel

总的来说,在配置的时候遇到没有的就打开Yast搜一下,如果有的话就安装,然后重新编译看还需要那些,如果在Yast找不到,那就上网找一下Google。

编译和安装PHP7

make

make

install

其中,make之后可以选择make

test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。

查看安装成功后的PHP7目录

编译安装成功后,查看PHP7的安装目录`ls

/usr/local/php7`:

设置PHP7的配置文件

cp

/usr/local/src/php7/php.ini-production

/usr/local/php7/etc/php.ini

cp

/usr/local/src/sapi/fpm/init.d.php-fpm

/etc/init.d/php-fpm

cp

/usr/local/php7/etc/php-fpm.conf.default

/usr/local/php7/etc/php-fpm.conf

cp

/usr/local/php7/etc/php-fpm.d/

/usr/local/php7/etc/php-fpm.d/

设置环境变量

在/etc/profile

文件的最后一行加上

export

PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH

然后执行

source

/etc/profile

设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录

mkdir

-p

/var/log/php-fpm/

mkdir

-p

/var/run/php-fpm

cd

/var/run/

chown

-R

nginx:nginx

php-fpm

将PHP设置为开机启动

chmod

+x

/etc/init.d/php-fpm

chkconfig

php-fpm

on

可以用chkconfig命令查看开机启动服务列表。

启动PHP服务

service

php-fpm

start

通过ps

aux

|

grep

'php'查看PHP是否启动成功

至此,PHP7就安装成功了,你也开始使用PHP7吧!

如何编译安装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

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

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

如何在编译好的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即可生效。