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的基础环境,可以开始进行相关开发工作。