在Linux环境下给php添加mbstring扩展

1,今天在开发项目的时候使用了一个php函数(mb_strcut),运行代码时候提示报错"call to undefind function mb_strcut",首先检查下函数名没有写错,难道是php.ini中没有开启扩展,后来去phpinfo看了确实没有加载mb_strcut,后台得知这个扩展在官方由mbstring构建

2,去php官方pecl首页搜索竟然搜索不到,MDZZ,what the hell,由于php安装包中带有所有的扩展,所以楼主用wget下载一个php5.6.24的源码包了,php官方下载地址http://php.net/downloads.php 进入列表选择一个你需要的php源码包,由于楼主服务器用的版本是5.6.24所以果断下载5.6.24,如果用wget下载的话,默认下载目录就会当前目录,weget命令格式狠简单:wget [url] (不如下载一个php 5.6.25的包直接这样 wget http://hk1.php.net/get/php-5.6.25.tar.bz2/from/this/mirror) 下载完毕以后会得到一个mirror文件,然后用tar -zxvf mirror 解压得到一个文件夹,进入文件夹内,找到ext,这个文件夹里面包含的是php扩展的源文件,找到你需要的扩展,楼主需要的mbstring,找到后,我们就可以使用phpize来安装了。phpize是官方提供的一个动态添加扩展的工具,详细了解可以度娘 phpize

3,首先我要确定当前系统存在phpize,并且可以使用,我们whereis phpize,可以看到搜索结果,比如楼主的是 /usr/bin/phpize,恭喜你,你可以直接使用了,每个人的目录可能所有不同,一般phpize是包含在/usr/bin下面的,确定了phpize命令执行路径后 ,我们进入需要编译安装的扩展目录,楼主就是进入mbstring ,进入目录后在当前位置输入命令 /usr/bin/phpize 命令执行完毕后,目录里面会多几个文件,有configure.. ,然后输入 ./configure --with-php-config=/usr/local/php/bin/php-config命令,注意前面是有一个点号额,如果提示错误,就说明你的php-config路径和我的不一致,可以whereis php-config,找到这个文件,然后换成正确的路径,在没有报错的情况下,我们依次执行,make 和make install 命令执行完毕后,它会提示你一个路径,这个路径里面就是我们编译的好的扩展,比如楼主的生成的扩展在 /usr/lib64/php/modules,我们进入这个目录,就可以看到刚才生成的扩展,在Linux下面扩展的后缀为 .so ,楼主的微mbstring.so ,这一步就做好了

4,这一步我们需要修改php.ini配置文件,同样用whereis php.ini 找到Php.ini文件所在的目录,一般在/etc目录下面,找到配置文件后,用vi /etc/php.ini命令或者vim /etc/php.ini命令打开这个文件,默认是普通模式,我们使用vim快捷键G快速定位到字符最底部 添加一行 extension=mbstring.so 这一行就是开启你刚才生成扩展,还有一个问题如果没有你使用的是默认位置存放扩展,请把刚才生成.so文件复制到默认文件夹中,如果你在当前配置文件中声明了 extension_dir ,就把扩展文件放到声明的文件夹中,这样才能扩展文件才能被加载到。添加完 extension = mbstring后这一步就昨晚了

5,最后一步需要重启服务器,重启包括2部分,因为楼主使用的是LNMP,所以需要重启的是nginx 和php-fpm,如果你使用的Lamp 那么需要重启的是apche和php-fpm,如果没有开启php-fpm就不需要重启php-fpm,开启nginx可以使用nginx自带的管理命令,同样使用whereis nginx ,找到nginx命令执行目录,楼主的是/usr/sbin/nginx,输入 /usr/sbin/nginx -s reload 后重启nginx服务,前面的路径一定要是正确的,可能你的和楼主的不一样,接下来重启php-fpm,重启php-fpm,我们先用命令 ps -aux |grep php-fpm 获取当前系统的包含php-fpm进程列表,我们需要的是加载了php-fpm.conf文件那一个进程的进程号,第二列的数字就是进程号,找到进程号后,使用kill [这里填写刚才的进程号] ,比如楼主的是31411  ,就是kill 31411 ,这样做是将php-fpm的进程停掉,然后我们whereis php-fpm 查看php-fpm执行的命令的路径,楼主的是/usr/sbin/php-fpm,执行/usr/sbin/php-fpm后就可以重新启动php-fpm,启动后去phpinfo(),可以看到我们添加的扩展已经在列表中了。至此我们给php添加扩展就已经完成了。如果安装完以后依然没有出现的话,就需要仔细排查哪一步做错了。还有楼主的邮箱是[email protected],有什么问题可以给我发邮件。

时间: 2024-10-09 07:17:31

在Linux环境下给php添加mbstring扩展的相关文章

linux环境下给python添加tab自动补齐

Pthon开发环境有很多种,可以使用IDE环境,比如eclipse,charm.也可以在linux下使用ipython,使用ipython就是因为有自动补全功能.当然也可以在linux环境下使用原生的python添加Tab补齐,也就实现了ipython的功能. 只需要在python的包路径中添加tab补齐模块即可. [[email protected] ~]# cd /usr/lib64/python2.7/ [[email protected] python2.7]# vim tab.py t

MAMP 环境下为 php 添加 pcntl 扩展

pcntl 介绍 pcntl 扩展可以支持 PHP 的多线程操作.(非Unix类系统不支持此模块) phpize 介绍 phpize 可以用来给 PHP 动态的添加扩展.比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展. 本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展.类 Unix 的环境都可以使用本方法安装,注意灵活变通. 安装: 下面演示的是给 MAMP的PHP 5.6.10版本添加 pc

Linux环境下安装PHP的mbstring模块

cd /usr/src/php-5.3.6/ext/mbstring/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install修改/usr/local/php/lib/php.ini 添加:extension=mbstring.so/usr/local/apache2/bin/apachectl restart

linux环境下 PYTHONPATH怎么添加

命令行  export PYTHONPATH=/usr/lib/python2.5/site-packages/  本次对话生效 vi /etc/profile 在最后添加 export PYTHONPATH=/usr/lib/python2.5/site-packages/ 重新登陆即可生效 vi ~/.bash_profile 在最后添加 export PYTHONPATH=/usr/lib/python2.5/site-packages/ 重新登陆即可生效,只对登陆用户生效

linux环境下安装PHP的OpenSSL扩展

先安装依赖包: yum install openssl openssl-devel 找到之前PHP的安装包,进入PHP安装包里的OpenSSL文件夹,根据个人的安装包位置不同,我的是 cd /usr/local/php-7.1.31/ext/openssl/ 执行命令, 此处/usr/local/php是我安装的php目录 /usr/local/php/bin/phpize 可能会报错 1:Cannot find config.m4. 在当前目录下执行: mv config0.m4 config

(1)Jenkins Linux环境下的简单搭建

(1)Jenkins Linux环境下的简单搭建 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. ----百度百科 这是一款基于Java开发的工具.种种原因,最近刚开始接触,决定研究一下.Jenkins的搭建方法不止一种,一下就是个人总结的其中一种,文章内容比较浅显,不足之处,欢迎指正. 首先,所需要准备的工具JDK.Maven.资料上显示JDK版本最好高于1.7,并没有研究1.7以下版本,所谓"没有实际调研,就没有发言权",在此就不做过多

mosquitto在Linux环境下的部署/安装/使用/测试

mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. 使用传统源码安装步骤: 步骤1:http://mosquitto.org/files/source/官网下载源码,放到Linux环境中.解压后,找到主要配置文件config.mk,其中包含mosquitto的安装选项,需要注意的是,默认情况下mosquitto的安装需要OpenSSL(一个强大的安全

weblogic新建域-linux环境下

[[email protected] bin]#/oracle/middleware/wlserver_12.1/common/bin [[email protected] bin]# ./config.sh -mode=console <---------------------------------------------------------------------------------- Fusion Middleware 配置向导 ------------------------

从零教你在Linux环境下(ubuntu)如何编译hadoop2.4

问题导读: 1.如果获取hadoop src  maven包?2.编译hadoop需要装哪些软件?3.如何编译hadoop2.4?扩展:编译hadoop为何安装这些软件? 本文链接 http://www.aboutyun.com/thread-8130-1-1.html 一.首先下载hadoop源码包下载的方式还是比较多的1.svn的方式svn下载首先需要安装SVN,如果想尝试使用svn,可以参考源码管理.获取网络源码工具:TortoiseSVN使用手册,hadoop的svn下载地址点此2.压缩