A. phpmyadmin中的mbstring有什么用
mbstring库 全称是Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8
其他的编码的语言是没办法在php程序上正确显示的。
解决的方法就是通过php的mbstring函数库来解决
其安装是在编译php的时候加上--enable-mbstring=?
"="后面就是跟需要支持的语言,j具体参数如下:--enable-mbstring=cn for Simplified Chinese support, --enable-mbstring=tw for Traditional Chinese support, --enable-mbstring=kr for Korean support, --enable-mbstring=ru for Russian support, and --enable-mbstring=ja for Japanese support.
“没有发现PHP 的扩展设置mbstring,而当前系统好像在使用宽字符集。没有mbstring
扩展的phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.”
这是因为我们在装PHP的时候没有把mbstring模块加上。
在win下很简单啦,只要到配置文件里把mbstring.dll前面的分号去掉,并把文件放到相应的地方就可以了,在linux下就不同了,但是也很简单。只要在编译PHP的时候加上参数
--with-mbstring --enable-mbstring=all
就可以了。
我用的是ubuntu11.04 提示with参数不正确,于是去掉了with,就可以了
找到了解决的办法,只可惜服务器不是自己的,无法使用,特地贴出来,供以后需要的朋友参考:
出现“没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.”
解决方法:
win系统:
打开c:/windows/php.ini
把
;extension=php_mbstring.dll
改成
extension=php_mbstring.dll
unix:
打开/etc/php.ini
把
;extension=php_mbstring.so
改成
extension=php_mbstring.so
可能通过查看phpinfo();来确认php.ini的位置以及PHP当前支持的一些特性。
服务器配置可能出现的错误,以及修改。
PHP配置:屏蔽了一些虽然正规但会有偶然突然显示出错的代码 error_reporting = E_ALL改为error_reporting = E_ALL & ~E_NOTICE
修改display_errors 值为 off
B. php7设置开启mbstring扩展失败怎么办
横亘在它们中间,它只是呼唤呼唤呼唤着。
日子是白色的
灰色下面。
为了纪念那些往日
我们显示你们的企图和弃置已久的内疚吧!
将他心的涟漪沉默中来。哈哈
C. 在linux下,为php增加mbstring扩展,求助!
一、确认你所改的php.ini是当前的配置。可以用phpinfo()函数查出来。
二、进入extension_dir所指的目录,看看有没有mbstring.so文件。
三、重启服务器(如果是apache 可以用 /etc/init.d/httpd restart)。
D. 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这中,记得如果是三方的,要先安装这些库才行哦。
E. 为什么提示:"没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 p
因为你没有打开mbstring在扩展,解决办法:打开php的配置文件php.ini,
将
extension=php_mbstring.dll前面的分号";"去掉,并改到正确的路径,一般为
ext/php_mbstring.dll
F. ubuntu php启用mbstring扩展库
uhuntu是LINUX吧?LINUX版的PHP不用DLL库的。
你这种情况,只能重新编译PHP了,编译的时候记得把mbstring打开
G. windows下怎么安装php7,php7里面没有这个php7apache2
extension_dir= “./”
将其改为:
extension_dir= “你的php解压目录ext”
找到:Windows Extensions
在Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的分号即可)
php_curl.dll
php_pdo_mysql.dll
php_gd2.dll
php_mbstring.dll
php_mcrypt.dll
php_mhash.dll
php_ming.dll
php_mysql.dll
php_openssl.dll
php_sockets.dll
php_xmlrpc.dll
php_zip.dll
找到:
disable_functions=
改为:
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存php.ini文件,并将其复制到Y:Windows,然后把php文件夹下的libmysql.dll复制到C:WindowsSystem32目录下。
接着配置PHP的Session功能(可选)
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到
;session.save_path = “/tmp”
修改为
session.save_path = “D:/phpsessiontmp”
配置PHP的文件上传功能 (可选)
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
;upload_tmp_dir =
修改为
upload_tmp_dir = “D:/phpfileuploadtmp”
第五步:配置Apache以支持PHP
1、打开你的apache2的安装目录,找到conf文件,打开里面的httpd.conf
在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加
复制代码
代码如下:
LoadMole php5_mole "你的php安装目录/php5apache2_2.dll"
PHPIniDir "c:/Windows" (因为把php.ini复制到了C:/Windows目录中了)
AddType application/x-httpd-php .php .html .htm
我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名。
2、我们应该知道默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,即将
复制代码
代码如下:
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改为
复制代码
代码如下:
DocumentRoot "D:/PHPWeb(目录自己定,我这是随便写的)"
还有
复制代码
代码如下:最后修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行
DirectoryIndex index.html
修改为
DirectoryIndex index.php index.html
最后重启Apache服务器
在一切工作完成后,在你刚才指定的工作目录中(D:/PHPWeb)新建php文件,输入以下内容
复制代码
代码如下:
<!--?
phpinfo();
?-->
保存,在浏览器中输入localhost/刚才新建的php文件名.php,如果出现php信息的话,就说明成功了。然后是数据库的链接,把刚才建的php文件的内容替换为
复制代码
代码如下:
<!--?php
$connect=mysql_connect(“127.0.0.1″,”root”,”你的mysql数据库密码”);
if(!$connect) echo “Mysql Connect Error!”;
else echo “欢迎我的博客-localhost/”;
mysql_close();
?-->
H. 如何在windows上安装和配置php7.0.12
首先,需要在windows下安装好如下环境:
1.apache服务器
2.VC14支持包
如果你的windows下还没有安装好以上两个环境,可以参考本网站的文章:
“如何在windows 7 下安装多个 apache服务”(安装第一个apache也一样原理,重点是端口不冲突就行)
关于vc支持包的说明:
在windows下,不同的php版本和不同的apache版本都需要对应相应的vc支持包,这里你就需要留意你下载的apache和php是什么版本了。下面我给大家列出一个对照表:
VC9:Microsoft Visual C++ 2008
VC11:Microsoft Visual C++ 2012
VC14:Microsoft Visual C++ 2015
这里我安装的apache版本是:httpd-2.4.23-win64-VC14;php版本是:php-7.0.12-Win32-VC14-x64;所以我需要安装的vc支持包是:VC14:Microsoft Visual C++ 2015,
VC14 运行环境下载地址为:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
好了,搭建好以上两个环境,那么我们就可以开始安装我们的php了,请往下面看:
一、下载php
官方下载地址:http://windows.php.net/download/
将下载的 zip 文件解压到指定目录,比如我将其解压到D:\wamp\php7 ,
然后进在该目录下运行如下命令查看 PHP 版本信息:php -v
如果你的VC环境没有安装(或者版本不对)的话则会弹出如下错误:
好了,就是这么简单。下面就开始配置了
二、配置httpd.conf
在你安装的apache目录下找到conf/httpd.conf并打开
1) 添加PHP模块
查找“Dynamic Shared Object (DSO) Support”的部分。大概是在62行附近。并在最后追加如下代码:
LoadMole php7_mole D:/wamp/php7/php7apache2_4.dll
2) 添加扩展名
查找“AddType”的部分。大概是在409行附近,并在最后追加如下现行代码:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
3) 指定php.ini配置文件路径
在httpd.conf文件里指定PHP配置文件php.ini的目录,这里定位到httpd.conf文件的未尾,在文本最后面一行添加 如下代码:
PHPIniDir "D:/wamp/php7"(这里的“D:/wamp/php7”为你的php.ini文件存放的实际路径)
4) 配置DirectoryIndex
查找“DirectoryIndex”的部分,大概在282行,在DirectoryIndex的后面追加一个“index.php”
与PHP相关的Apache配置已经完成了。
特别提醒:变更Apache的配置文件之后别忘了重启Apache!
三、配置php.ini
首先,将php安装目录下的php.ini-proction改名为php.ini
打开php.ini,做如下几个修改:
1) 设置php的扩展路径
查找 extension_dir = "ext" ,把前面的分号去掉
2)开启常用的php扩展,如:
extension=php_mbstring.dll(php多字节字符串扩展)
extension=php_mysql.dll(mysql库扩展)
extension=php_mysql.dll(mysqli库扩展)
开启方式:查找以上扩展,把前面的分号(;)删掉就行。
3)设置默认时区
date.timezone = Asia/Shanghai
好了,以上就是关于Windows服务器上安装配置PHP7.0的步骤,下面让我们来测试一下吧
四、测试
在你的apache站点目录下新建一个index.php (当然也可以是别的名字),
用文本编辑器打开(如记事本),在里面添加以下代码,保存
<?php
phpinfo();
?>
然后在浏览器输入http://localhost/index.php访问,这时你会看到如下页面
I. 如何为已安装php扩展安装mbstring
方法一:
linux系统直接yum安装
yum install php-mbstring
方法二重新编译:
1、进入php源代码目录、
2、执行一下命令
./configure --with-php-config=/opt/php/bin/php-config
make
make install
-------------------
安装完成,在php.ini中添加mbstring
extension=mbstring.so
J. 如何配置PHP7环境
Apache安装
版本解释:openssl是表示带有openssl模块,利用openssl就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问。
nossl则表示不带OpenSSL模块,无法用于SSL安全链接,在这里我们下载带OpenSSL的。
选择版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此处以32位为例)
下载地址:http://www.apache.org/dist/httpd/binaries/win32/
首先我们在D盘(盘符根据实际情况自己选择)新建一个目录, 并且命名为“WAMP”其意义为“Wdindows Apache Mysql PhpMyAdmin” 之后安装的一些内容,也都将安装在该目录下。
1.安装说明:
运行apache安装程序,方法非常简单,弹安装界面后一直“next”接着会出现一个界面,需要填写3个内容,分别为:Network Domain、Server Name、Administrator’s Email Address 随便填写就好,不影响内容。
在下面还有2个选项,默认选择为80端口,第二个为8080端口,根据个人需求选择,一般为默认80端口。
我们继续安装,选择Custom(自定义安装)-“next”其中有打着红X的组件,我们单击这个组件容,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。-“next”
然后选择右下角的“change ”改变安装路径,安装到刚才建立的目录中“D:WAMPApache”-“next”
安装完毕后,电脑右下角会多出一个图标,双击打开,选择start或restart,能正常运行,至此安装完毕。
2.修改配置:
打开安装录下D:WAMPApacheconfhttpd.conf 文件(修改配置文件时,不建议使用记事本,可能会对其造成影响,推荐使用Notepad++或其他编辑软件打开修改)
打开以后Ctrl+F查找所要修改的内容
在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加:
LoadMole php5_mole “D:/WAMP/PHP/php5apache2_2.dll”
PHPIniDir “D:/WAMP/PHP”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DocumentRoot “E:/WAMP/Apache/htdocs”
修改成(这里的路径和IIS中wwwroot目录一样,用于存放网页,自定义或不做修改默认):DocumentRoot “D:/WAMP/www”
修改成(自定义或不做修改默认):
DirectoryIndex index.html
修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm
3.测试
在D:/WAMP/www目录下 建立个index.html页面
在浏览器中输入 http://localhost/
如果能正常显示,Apache配置完毕,已经正常运行。
MySql安装
版本解释:The Essentials Package:不包含 embedded server and benchmark suite,有自动安装程序和配置向导,没有MySQL Documentation。
The Complete Package:包含 embedded server and benchmark suite,有自动安装程序和配置向导,有MySQL Documentation。
The Noinstall Archive:包含 embedded server and benchmark suite,没有自动安装程序和配置向导,有MySQL Documentation。
选择版本:mysql-essential-5.1.44-win32.msi
下载地址:http://www.mysql.com/downloads/mysql/
1.安装说明:
打开安装程序,单击“next”
选择custom,组件为默认选择,我们不做改动-“next”
路径设置为“D:WAMPMysql”-“next”
安装好以后点击“finish”
跟着会出现一个配置向导-“next”
选择“Detailed Configuration(详细配置)”-“next”
这里有3个选项:
Developer Machine,将只用尽量少的内存;
Server Machine,将使用中等数量内存;
Dedicated MySQL Server Machine,这台服务器上面只跑mysql数据库,将占用全部的内存。
可以根据自己需求选择,这里我们选择第二种“Server Machine”-“next”
选择数据库用途,同样有3个选项:
Mutltifunctional Database多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型;
Transactional Database Only只用于事务处理类型,最好的优化innodb,但同时也支持myisam;
Non-Transactional Databse Only非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。
一般选择第一种多功能的,同样我们也是。-“next”
选择InnodDB的数据存放位置,一般默认就行,为了统一我填写了“WAMP/MySQL Datafiles”-“next”
选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,自己可以根据需求选择,我选择第二个-“next”
下面是选择数据库监听的端口,一般默认是3306,如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,比较麻烦,这里不做修改,用mysq的默认端口:3306-“next”
这一步设置mysql的默认编码,我们选择第三个,并在Character Set菜单中,选择“gbk”编码-“next”
(注:如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。)
这一步是是否要把mysql设置成windows的,一般选择设成服务,这样以后就可以通过服务中启动和关闭mysql数据库。下面的复选框也勾选上,这样,在cmd模式下,不必非到mysql的bin目录下执行命令。也就是把上下2个勾都打上,中间默认-“next”
这一步是设置mysql的超级用户密码,这个超级用户非常重要,对mysql拥有全部的权限,请设置好并牢记超级用户的密码,下面有个复选框是选择是否允许远程机器用root用户连接到你的mysql服务器上面,如果有这个需求,也请勾选。这里我们使用默认选择,在New root password和Confirm中输入密码。“next”
点击“execute”进行配置,稍微等待一会,圆点上的勾全部打上,就代表配置完毕。
2.修改配置:
打开D:WAMPMySQLmy.ini
设置datadir为D:/WAMP/MySQL/data/或你所要存放数据位置的目录即可。
PHP安装
版本解释:VC9 专门为IIS定值的脚本,使用Visual Studio 2008编译器编译,支持最新的微软组建,从而提高效率。
VC6 是为了其他WEB服务软件提供的脚本 如 Apache。
Thread Safe 现成安全,之星时会进行线程 安全检查,以防止有心要求就启动新线程(Thread)的CGI执行方式而耗尽系统资源。
Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查
选择版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下载
下载地址:http://windows.php.net/download/
1.安装说明
由于我们下载的的是ZIP压缩包,只需要将文件解压到“D:WAMPPHP”目录下即可
2.修改配置
将E:WAMPPHPphp.ini-development 文件修改成php.ini
打开php.ini
; extension_dir = “ext”
修改成:extension_dir = “E:WAMPPHPext”
将947行下,这些文件前面的“;”去除
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
;date.timezone =
修改成(很多网站没提到这里要修改,默认为美国时间,如果不修改会报错):date.timezone = Asia/Shanghai
3.测试
重启Apache(修改过配置文件 必须重启Apache才会生效)
新建个index.php 页面,代码中输入,保存文件放到“D:WMAPwww”目录下
打开浏览器输入:http://localhost/index.php 如果能正常显示,说明PHP配置完毕,可以查看该页面的PHP信息是否正确。
(注:在改文件中输入函数可输出大量的有关PHP当前状态的信息,如PHP版本,服务器信息和环境等。)
(注:)
接着我们测试下,是否能连接到Mysql
再新建个link.php,下代码中输入
$link=mysql_connect(“127.0.0.1″,”root”,”Mysql安装时填写的密码”);
if(!$link) echo “Mysql数据库连接失败!”;
else echo “Mysql数据库连接成功!”;
mysql_close();
?>
也保存文件放到“D:WMAPwww”目录下
打开浏览器输入:http://localhost/link.php 查看
PhpMyAdmin安装
版本解释:phpMyAdmin-3.2.5
选择版本:phpMyAdmin-3.2.5-all-languages.zip
下载地址:http://www.phpmyadmin.net/home_page/downloads.php
1.安装说明
解压到D:WAMPphpMyAdmin
2.修改配置
打开D:WAMPphpMyAdminlibrariesconfig.default.php
$cfg['PmaAbsoluteUri'] = ”;
修改成(填写访问phpMyAdmin的绝对URL):$cfg['PmaAbsoluteUri'] = ‘http://localhost/PHPMyadmin/’;
$cfg['Servers'][$i]['host'] = ‘localhost’;
修改成(填写服务器地址,通常默认,不需要修改):$cfg['Servers'][$i]['host'] = ‘localhost’;
$cfg['Servers'][$i]['user'] = ‘root’;
修改成(填写Mysql用户名,这里我们默认):$cfg['Servers'][$i]['user'] = ‘root’;
$cfg['Servers'][$i]['password'] = ”;
修改成(填写Mysql密码):$cfg['Servers'][$i]['password'] = ‘Mysql PWD;
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
修改成(设置认证方法,安全因素考虑,填写成cookie):$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
$cfg['blowfish_secret'] = ”;
修改成(设置短语密码,如果上面设置成cookie,那这里不能留空,不然登陆会提示错误):$cfg['blowfish_secret'] = ‘cookie’;
3.测试
打开浏览器输入:http://localhost/phpmyadmin/ 访问和登陆。
完成
至此Windows7下的PHP环境搭建完毕。