导航:首页 > 编程语言 > php7configure

php7configure

发布时间:2023-02-22 19:15:26

A. ubuntu如何编译安装官方php7

.

[email protected]:php/php-src.gitphp-src
$cdphp-src
$./buildconf
$sudoapt--devapache2-devsystemtap-sdt-devopensslpkg-configlibssl-devlibcurl4-openssl-devlibbz2-devlibgdbm-devlibjpeg62libjpeg62-devlibpng12-0libpng12-devlibfreetype6-devlibicu-devlibiodbc2-devlibxslt1-dev

$./configure--prefix=/usr/local/php7/7.0.0--localstatedir=/usr/local/var--sysconfdir=/usr/local/etc/php/7--with-config-file-path=/usr/local/etc/php/7--with-config-file-scan-dir=/usr/local/etc/php/7/conf.d--mandir=/usr/local/php7/7.0.0/share/man--enable-bcmath--enable-calendar--enable-dba--enable-exif--enable-ftp--enable-gd-native-ttf--enable-intl--enable-mbregex--enable-mbstring--enable-shmop--enable-soap--enable-sockets--enable-sysvmsg--enable-sysvsem--enable-sysvshm--enable-wddx--enable-zip--with-freetype-dir=/usr/local/opt/freetype--with-gd--with-gettext=/usr/local/opt/gettext--with-iconv-dir=/usr--with-icu-dir=/usr/local/opt/icu4c--with-jpeg-dir=/usr/local/opt/jpeg--with-kerberos=/usr--with-libedit--with-mhash--with-ndbm=/usr--with-openssl=/usr/local/opt/openssl--with-pdo-odbc=unixODBC,/usr/local/opt/unixodbc--with-png-dir=/usr/local/opt/libpng--with-unixODBC=/usr/local/opt/unixodbc--with-xmlrpc--with-zlib=/usr/local/opt/zlib--with-apxs2=/usr/bin/apxs--libexecdir=/usr/local/php7/7.0.0/libexec--with-bz2=/usr--disable-debug--enable-fpm--with-fpm-user=_www--with-fpm-group=_www--with-curl--with-xsl=/usr--with-ldap--with-ldap-sasl=/usr--with-mysql-sock=/tmp/mysql.sock--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--disable-opcache--enable-pcntl--enable-dtrace--disable-phpdbg--enable-zend-signals

$make
$sudomakeinstall
$php-v

B. php7新建扩展时,make编译时报 unknown type name 'zend_string'

你希望用php7的环境编译,但是你编辑的环境实际上是php5的。

php5 里面没有zend_string类型,用 char 替换,或者,修改你的php版本环境到php7

C. 如何在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-proction /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/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

设置环境变量
在/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吧!

D. 如何在PHP7中安装mysql的扩展

你好,

1.去php网站上下载mysql扩展,
2.解压并使用phpize工具初始化,编译:
#解压
tar xzvf mysql-45881bd.tar.gz
#进入mysql扩展目录 from
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目录
/opt/php/bin/phpize
#编译mysql扩展,使用mysql native driver作为mysql链接库
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make && make install
3.接下来,我们直接编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
4.重启php
成功之后,用phpinfo即可看到mysql扩展的信息

E. php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

一 下载需要的源码包
所有安装包均选用最新的。
1. 下载libevent2.0.22
点击红色部分下载
下载memcached1.4.24
点击红色部分,下载最新版本
下载php扩展memcache3.0.8
选择需要的版本
二 安装详细步骤
首先将以上三个软件包下载到/tmp目录下
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装
1
测试是否安装成功
看到这些信息,表示成功啦
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装
1
测试是否安装成功
表示成功的信息
通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展
cd /tmp #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装
1
完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息
看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib
下载zlib-1.2.8.tar.gz
下载地址:http://www.zlib.net/
如图:
红色部分点击
cd /tmp #首先进入到该下载包的目录
tar zxvf zlib-1.2.8.tar.gz #解压包
cd zlib-1.2.8 #进入到解压的目录
./configure --prefix=/usr/local/zlib
make; make install #编译+安装
1
再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。
OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令如果看到以下信息,表示成功:
扩展安装成功
三 配置php.ini文件
首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:
修改extension_dir路径:
extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:
信息
四 配置memcached服务器
启动memcached服务器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行
kill cat /tmp/memcached.pid
3. 检查memcached是否已经启动
看到绿色框中内容,就表示完成
五 测试php的memcache扩展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

F. PHP7.0怎么通过打开扩展功能和mysql相连

第一步:进入php源码中的"ext/mysql"目录下

第二步:在当前目录下运行phpize命令:/usr/local/php524/bin/phpize

phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。

第三步:运行刚才生成的configure文件

命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/

这里最关键的是通过--with-mysql参数告诉mysql客户端的位置。这样才能生成mysql.so。

实验的时候,没有加这个参数,结果错误:

./configure --with-php-config=/usr/local/php524/bin/php-config

第四步:编译生成.so文件

第五步:配置php引擎加载该扩展。

补充一下:就是去php.ini文件中修改一下配置,加载mysql.so这个扩展(这个扩展文件要放到php指定的扩展目录下面去)

第六步:测试php引擎是否成功加载该扩展编写文件phpinfo.php,内容是:<?phpehco phpinfo();?>

运行后,可以看到有如下信息显示:mysqlMySQLSupport enabledActive PersistentLinks 0

Active Links 0

Client API version 5.1.55

MYSQL_MODULE_TYPE no value

MYSQL_SOCKET /tmp/mysql.sock

MYSQL_INCLUDE no value

MYSQL_LIBS no value

通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展。

第七步:已经生成的mysql.so。编写php代码测试是否能连接mysql。

G. 如何在PHP7中安装mysql的扩展

如何在PHP7中安装mysql的扩展
1,去php网站上下载mysql扩展
2,解压并使用phpize工具初始化,编译:
#解压
tar xzvf mysql-45881bd.tar.gz
#进入mysql扩展目录
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目录
/opt/php/bin/phpize
#编译mysql扩展,使用mysql native driver作为mysql链接库
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make && make install
5,编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
6,重启php

H. PHP7安装intl扩展和linux安装icu

一 PHP intl 是国际化扩展,是ICU 库的一个包装器。所以在安装PHP intl扩展前要先安装ICU库,安装ICU库的具体步骤::

二 安装intl扩展
1:进入php7.2.5源码:

2:运行:phpize ,找不到命令时,将路径补全:/usr/local/php7/bin/phpize(是php的安装路径),出现如下:

Configuring for:
PHP Api Version: 20100412
Zend Mole Api No: 20100525

Zend Extension Api No: 220100525

3:运行配置

./configure --enable-intl --with-icu-dir=/usr/local/icu/ --with-php-config=/usr/local/php7/bin/php-config

注:前面路径为icu的安装路径,后面路径为php的安装路径。

4:编译扩展:make

5:复制扩展到目标文件夹

cp /user/local/php/php7.2.5/ext/intl/moles/intl.so /user/local/php7/lib/php/extensions/no-debug-non-zts-20170718

注意:也可以find / -name intl.so 查找。

6:设置扩展加入配置文件中:

[intl]
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/"

extension=intl.so

大坑:::采用phpinfo()时,无法找到配置的intl扩展,说明配置没有生效。。。。。。

原因:在编译php时没有 --with-config-file-path=PATH 指定php.ini路径,默认的路径为/usr/local/php7/lib,只需要将php.ini放入这个默认的路径即可。你也可以安装配置php时加入,如下:

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs
访问:index.php中phpinfo()文件。

I. windows下怎么安装php7,php7里面没有这个php7apache2

1 打开(1)[程序和功能],然后点击(2)[打开或关闭Windows功能] 如何在Windows7(IIS7)环境下安装 PHP 2 勾选(1)[IIS管理控制台]和(2)CGI,然后点击[确定]按钮,等待安装完成。这个过程可能需要系统安装光盘。

J. centos的php7怎么安装memcached扩展

最近试了一下PHP7,在编译和支持MySQL上都遇到一些问题,相信不少同学也同样遇到,所以在这里聊一下这个过程。简单来讲编译PHP7只需要3步: 1、./buildconf --force 2、./configure 3、make && make install 1、3步,都没啥好管的,configure是编译的关键,涉及到PHP对一些库的支持,这里我们使用最小的支持,包括MySQL: curl gd fpm mysqlnd 之所以把curl和gd拿来说,目的是要搞清楚,这些三方库在编译PHP之前得安装好,可以直接使用yum安装在默认位置,也可以编译安装到指定位置,yum安装后,编译时不用指定库的安装位置,关于安装这些库,可以搜索一下有很多。下面看看基本的configure ./configure --prefix=/apps/php/php7.0 --enable-mbstring --with-curl --with-gd --with-config-file-path=/apps/php/php7.0/etc/ -- enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd PHP-FPM 关于fpm,相信不用多说,用它来支持PHP是一个比较好的选择,PHP5.3.3开始就已经内置了php-fpm,所以PHP7里当然也有,只需要--enable-fpm一下就可以了 php-fpm参数: --start 启动 --stop 强制终止 --quit 平滑终止 --restart 重启 --reload 重新平滑加载php的php.ini --logrotate 重新启用log文件 MySQL支持 重点讲一下这个,因为在它上面花了一点时间,不知道从哪一版本开始,PHP不在希望使用mysql的库来支持mysql的连接,启用了mysqlnd来支持,听说比libmysql要快很多,PHP5.x还可以使用libmysql,PHP7貌似已经取消了支持,编译都没有了--with-mysql参数,只支持--with-mysqli和--with-pdo-mysql,可以通过查看configure的参数来知道: ./configure -help grep mysql 可以看到,PHP希望使用mysqlnd来支持MySQL,所以参数可以这样写: --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd mysqlnd是不需要mysql支持的,所以不用先安装好mysql一样可以编译通过,启动php-fpm,查看一下phpinfo,能看到mysqlnd和pdo_mysql表示php已经可以支持mysql了(这里用的是pdo,mysqli同理) 几个问题 编译问题:cc: Internal error: Killed (program cc1) 这个问题是第一次遇到,原来是我的阿里云服务器关掉了swap,内存不够用,就报了这个错。 解决办法很简单,configure时加上--disable-fileinfo参数就可以了。 PHP报找不到mysql服务 正如它所说,确实没找到,看看phpinfo中pdo_mysql.default_socket项 mysql.sock在哪里,再看一下mysql.sock的真正位置,使用命令:ps -efgrep mysql查看: 明显不在一个位置上,我的正确位置是:/var/lib/mysql/mysql.sock 所以,修改一下php.ini,找到pdo_mysql.default_socket,改为你的实际位置,重启一下php-fpm,很不幸,虽然php.ini有这个配置,修改后,竟然不行,最好是编译的时候,指定mysql.socket的位置: --with-mysql-sock=/var/lib/mysql/mysql.sock 如果还不行,可以到/tmp目录下建立一个mysql.sock的软链接: ln -s /var/lib/mysql/mysql.sock mysql.sock 再重启一次php-fpm,相信已经正常运行了。如果需要PHP支持的库更多,可以再次编译,在configure时把需要的支持加上,就是--with-xxx这中,记得如果是三方的,要先安装这些库才行哦。

阅读全文

与php7configure相关的资料

热点内容
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275
pdf里怎么修改文字 浏览:686
已保存文档加密如何设置 浏览:413