centos安装php扩展 docker搭建php开发环境

CentOS下PHP安装memcache扩展问题解决方法分享

系统版本是5.2,把安装memcached的方法记录下先:

复制代码

   

代码如下:

cd~/memcached

   wget-c

   wget-c

   #安装libevent

   tar-zxvf libevent-1.4.10-stable.tar.gz

   cd libevent-1.4.10-stable

   ./configure

   make

   make install

   #安装memcached

   cd..

   tar-zxvf memcached-1.2.8.tar.gz

   cd memcached-1.2.8

   ./configure

   make

   make install

   #如果是64位系统,还需要把libevent的文件复制到/wp-content/lib64/下,用来解决error while loading shared libraries的问题

   cp-R/wp-content/local/lib/libevent*/wp-content/lib64/

好了,开始安装php的扩展,恶梦开始了,本以为直接用yum来安装php-devel.x86_64和php-pecl-memcache.x86_64这两个扩展就可以了,可装了后 phpinfo()里根本找不到memcache扩展,把已经装的这两个扩展remove重来,还是不行,goooooooooooooogle,找到了一篇文章《PHP Pecl Memcached module installation problems》,有救喽,先remove掉php-pecl-memcache.x86_64,然后执行了

pecl install memcache

顺利安装上了,打开/etc/php.d/看了下,没有memcache.ini,好吧,手动到/etc/php.ini加上了 extension=memcache.so,好了,重启httpd,刷新 phpinfo(),竟然还没有,我郁闷了。。

回头想想,我好像漏了一个地方没有检查,马上打开/wp-content/lib64/php/modules/查看,果然没有memcache.so,会在哪呢? find-name之,原来躲在/wp-content/local/lib/php/extensions/no-debug-non-zts-20060613/下,复制到/wp-content/lib64/php/modules/再试,久违的 memcache扩展出现了。 T T

Memcached参数说明:

-d选项是启动一个守护进程   -m分配给Memcache使用的内存数量,单位是MB   -u运行Memcache的用户   -l监听的服务器IP地址   -p设置Memcache监听的端口,最好是1024以上的端口   -c最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定   -P设置保存Memcache的pid文件   

启动:

memcached-d-u root-m 128-c 8192

查看状态:

watch“echo stats| nc 127.0.0.1 11211″

状态说明:

uptime:memcached运行的秒数   cmd_get:查询缓存的次数。这两个数据相除一下就能得到平均每秒请求缓存的次数   cmd_set:设置key=value的次数   get_hits:缓存命中的次数。缓存命中率= get_hits/cmd_get* 100%   scurr_items:现在在缓存中的键值对个数   

相关网址:

Libevent:

   Memcached:

   PHP Memcached Extension:

[shell]

[root@~]# pecl install memcache

downloading memcache-2.2.6.tgz...

Starting to download memcache-2.2.6.tgz(35,957 bytes)

..........done: 35,957 bytes

11 source files, building

WARNING: php_bin/opt/php/bin/php appears to have a suffix/bin/php, but config variable php_suffix does not match

running: phpize

Configuring for:

PHP Api Version: 20090626

Zend Module Api No: 20090626

Zend Extension Api No: 220090626

Enable memcache session handler support? [yes]: n

[/shell]

[shell]

running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-memcache-2.2.6" install

Installing shared extensions:/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/

running: find"/var/tmp/pear-build-root/install-memcache-2.2.6"| xargs ls-dils

11370548 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6

11370602 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt

11370603 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php

11370604 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib

11370605 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php

11370606 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions

11370607 4 drwxr-xr-x 2 root root 4096 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626

11370601 236-rwxr-xr-x 1 root root 235639 Jan 6 15:55/var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so

Build process completed successfully

Installing'/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'

install ok: channel://pecl.php.net/memcache-2.2.6

configuration option"php_ini" is not set to php.ini location

You should add"extension=memcache.so" to php.ini

[/shell]

Centos php 扩展方式安装gd库的方法

网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。

首先说明,我的PHP是源码编译安装的,可以参看以源码编译的方式安装PHP与php-fpm。

先安装 gd前置库: freetype,jpegsrc,libpng。

1. freetype

复制代码

   

代码如下:

wget";

   tar jxvf freetype-2.4.0.tar.bz2

   cd freetype-2.4.0

   ./configure--prefix=/usr/local/freetype make make install

2. jpegsrc

复制代码

   

代码如下:

wget";

   tar zxvf jpegsrc.v9.tar.gz

   cd jpeg-9

   CFLAGS="-O3-fPIC"./configure--prefix=/usr/local/jpeg make make install

   mkdir-p/usr/local/jpeg/include

   mkdir-p/usr/local/jpeg/lib

   mkdir-p/usr/local/jpeg/bin

   mkdir-p/usr/local/jpeg/man/man1

3. libpng

复制代码

   

代码如下:

wget";

   tar zxvf libpng-1.2.50.tar.gz

   cd libpng-1.2.50

   CFLAGS="-O3-fPIC"./configure--prefix=/usr/local/libpng make make install

接下来需要cd到php源码的 gd目录,否则会报 cannot find config.m4之类的错误。

复制代码

   

代码如下:

cd php-5.3.6

   cd ext

   cd gd

然后再这个目录执行命令/usr/local/php/bin/phpize。什么时候需要用到 phpize呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在/usr/local/php/这个目录里,可以根据个人情况修改。

复制代码

   

代码如下:

/usr/local/php/bin/phpize

现在可以进行单独编译安装了:

复制代码

   

代码如下:

./configure--with-php-configure=/usr/local/php/bin/php-config--with-jpeg-dir=/usr/local/jpeg--with-png-dir=/usr/local/libpng--with-freetype-dir=/usr/local/freetype

   或者

   ./configure--with-php-config=/usr/local/php/bin/php-config--with-jpeg-dir=/usr/local/jpeg--with-png-dir=/usr/local/libpng--with-freetype-dir=/usr/local/freetype

   make make install

接着修改php.ini文件在;extension=php_zip.dll下面添加一行 extension=gd.so

重启 Nginx之后再看看是否安装成功了。再执行/usr/local/php/bin/php-m查看gd模块是否加载成功。

复制代码

   

代码如下:

service nginx restart

   /usr/local/php/bin/php-m

console列出:

复制代码

   

代码如下:

[root@nowamagic gd]#/usr/local/php/bin/php-m

   [PHP Modules]

   Core

   ctype

   date

   dom

   ereg

   fileinfo

   filter

   gd

   ……

看到gd了,说明gd库安装成功。

接下来只要重启 php-fpm即可:

复制代码

   

代码如下:

killall php-fpm

   /usr/local/php/sbin/php-fpm

phpinfo()一下,看看。

OK,安装成功。

如何在CentOS 7.9上安装PHP 8.1

在 CentOS 7.9的系统中,要安装 PHP 8.1,首先需要从 Remi's RPM仓库获取额外的软件资源。以下是详细的安装步骤:

1.首先,安装 EPEL(Extra Packages for Enterprise Linux)库,它为 CentOS提供额外软件包:

执行命令:sudo yum install-y

2.然后,安装 Remi's RPM仓库的 Rpm包:

执行命令:sudo yum install-y

3.启用 Remi's PHP 8.1仓库,确保能获取到 PHP 8.1的版本:

使用命令:sudo yum-config-manager--enable remi-php81

4.安装 PHP 8.1及其常用扩展,如 php-cli、php-fpm等:

运行安装命令:sudo yum install php php-cli php-fpm php-json php-common php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

5.安装完成后,检查 PHP 8.1的版本以确认安装是否成功:

运行命令:php-v

这将显示 PHP 8.1的版本信息。至此,您已经在 CentOS 7.9系统上成功安装了 PHP 8.1。如果需要安装其他 PHP扩展,可以使用 `yum search php-`命令搜索并安装。

现在,您的系统已经具备了 PHP 8.1的基础环境,可以开始进行相关开发工作。

阅读剩余
THE END