A. 如何安装php的扩展bcmath
安装php的扩展bcmath具体步骤如下(以下操作均在wdcp 2.4的环境中):
1、ssh登陆vps控制台后,进入要安装的扩展的源码目录:cd /root/lanmp/php-5.2.17/ext/bcmath
2、运行phpize,这是wdcp中的路径: /www/wdlinux/php/bin/phpize
出现如下提示:
configuring for:
php api version:
20041225
zend mole api no: 20060613
zend extension api no: 220060519
3、编译安装:
./configure --with-php-config=/www/wdlinux/php/bin/php-config
make
make install
4、增加到配置文件php.ini里
vi /www/wdlinux/etc/php.ini
在最后增加:extension=bcmath.so
5、重启服务
service httpd restart
service nginxd restart
然后就大功告成
B. 如何安装新的PHP扩展模块
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make && make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
C. centos安装apache mysql php用YUM安装与编译安装有什么区别
采用编译安装,相当于Windows下面的自定义安装。
一般都是指定安装路径,数据文件路径,配置文件路径或者其他安装选项的。
yum安装就相当默认安装了。路径一些附带的安装选项就不能自己选择了。没发控制,要配置参数。看自己喜欢了,自己家里用用的话 建议 yum装装么好了,多省力。
特别是有依赖包的时候,编译安装,你编译 make make install 的时候就会出错,用yum安装就不担心了。
D. PHP一些扩展在编译的时候没有安装怎么办
一些扩展都是php自带的,开启即可
如果不是自带的,要先安装,配置里加上此扩展,在开启
E. 502 Bad Gateway The proxy server received an inv
目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300磁盘空间不足,如mysql日志占用大量空间查看php-cgi进程是否在运行7Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。F. 请问编译安装php时一定要先安装各种库么
PHP的源码中的ext目录下的那些东西,并不是你所说的“库”本身的源代码,而是用了这些库的PHP的C写的扩展的源代码,这些扩展,依赖于你所说的freetype,GD之类的库,所以要先安装那些库,然后再在安装PHP的时候编译,如果你暂时不需要这些扩展,可以在php编译的./configure时屏蔽掉这些扩展(详见./configure --help)。扩展不需要了,自然它们的依赖库也不需要了,但如果以后你需要,那你还是要先安装这些依赖库,然后再安装php的扩展(编译成.so)
G. 如何编译安装PHP扩展
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx
但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config
git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`
这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
H. 哪位高手帮个忙.教我PHP如何安装并在本机测试
PHP一开始叫Personal Homepage后来改叫Personal Homepage Programme 最后才叫Hypertext Preprocessor。PHP本来就是一种网页格式,当你写好后就是一个网页,但是如果你的机子没装PHP和APACHE或IIS服务器的话是不能以网页的格式查看里面的内容的。
你如果要查看PHP文件里面的内容即源程序那么你可以用记事本打开,WORD等这些文字处理工具都可以看到PHP的内容,如果你是想以网页的形式查看PHP那么你首先得安装PHP和APACHE服务器
安装方法如下:
Apache http://httpd.apache.org/
最流行的HTTP服务器软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。
我下载的是for Windows版本,目前最新版本是:2.0.54
PHP http://www.php.net/
PHP 是一种 HTML 内嵌式的语言。而PHP独特的语法混合了 C、Java、Perl 以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。
我下载的是for Windows版本,目前最新版本是:5.0.4
MySQL http://www.mysql.com/
是一个多线程的,结构化查询语言(SQL)数据库服务器。SQL 在世界上是最流行的数据库语言。MySQL 的执行性能非常高,运行速度非常快,并非常容易使用。
我下载的是for Windows版本,目前最新版本是:5.0.4 Beta
phpMyAdmin http://www.phpmyadmin.net/
phpMyAdmin 是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作。
我下载的是for Windows版本,目前最新版本是:2.6.2-pl1
安装apache和PHP
下面是我的安装记录:
选择80端口,将apache安装在 D:\apache下。
配置apache里的httpd.conf文件(conf目录下,用记事本打开就行了,使用查找把下面提到的句子输进去找出来)
找到 DocumentRoot "D:/apache/Apache2/htdocs" 将其改为WEB目录D:/htdocs (文件夹名称和路径随便你定,以后把你写的PHP文件放在这个文件夹里面)
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php default.php default.html
选择模块化模式安装
找到 #LoadMole ssl_mole moles/mod_ssl.so 这行,在此行后加入一行
LoadMole php5_mole D:/php/php5apache2.dll
找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
将php-5.0.4-Win32.zip里内容解压到e:\php里,找到php.ini-recommended,重命名为php.ini并拷贝到windows目录下。
NTFS上记得给服务器开PHP.ini的读权限。
查找extension_dir后面的改为"D:/php/ext"
查找Windows Extensions,把下面有一排的;extension=php_***.dll的分号去掉,就是支持组件了。我把 extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll 的分号去掉了。
php5默认不支持mysql了,所以要为他添加支持,除了extension=php_mysql.dll去分号之外,在php目录里有个libmysql.dll文件,把它复制到系统的system32文件夹下,复制php.ini到windows目录下。
此时PHP环境基本已经配置成功
在WEB根目录里建一个名为test.php的文件内容如下
<? echo phpinfo(); ?>
重新启动apache服务,用浏览器打开 http://localhost/test.php
如果可以看到php配置输出信息就成功了
安装mysql
将mysql安装到指定目录,然后安装程序会引导你一步步配置。不过奇怪的是最后任务栏没有出现Mysql的图标。
修改mysql数据库的root密码
用cmd进入命今行模式输入如下命令: ( 注: d:\mysql 为mysql安装目录)
cd d:\mysql\bin
mysqladmin -u root -p password 123456
回车出现
Enter password: ( 注:这是叫你输入原密码. 刚安装时密码为空,所以直接回车即可)
此时mysql 中账号 root 的密码 被改为 123456 安装完毕
配置php.ini并测试mysql
找到extension_dir = "./" 改为 extension_dir = "D:/php/ext"
找到
;extension=php_mysql.dll
将';'去掉改为
extension=php_mysql.dll
找到
;session.save_path = "/tmp"
将';'去掉 设置你保存session的目录,如
session.save_path = "D:/php/session_temp"
重启apache服务
在Web根目录下建立testdb.php文件内容如下:
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用浏览器打开http://localhost/testdb.php 如果输出success就OK了
phpmyadmin的安装配置
将phpMyAdmin-V2.6.2-pl1.zip解压到WEB根目录中去,重命名文件夹为phpmyadmin或其它
打开phpmyadmin 目录中的 config.inc.php
找到
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
分别填上用户名和密码
最后把你写的PHP文件放在你之前设定的WEB目录里,比如按上面安装的话就是D:/htdocs。假设你那个文件名叫123.php。现在打开IE,在地址栏上输入http://localhost/123.php按回车就行了。如果你那文件是放在D:/htdocs里的另一个文件夹下,假如那个文件夹名是test,那么你在IE里就要输入http://localhost/test/123.php。另外,文件跟文件夹名千万不要用中文。
I. 请教PHP的编译安装问题
不需要什么处理,你在apache的web目录里面建立一个php文件,内容如下
<?php
phpinfo();
?>
然后通过浏览器访问这个php文件,可以看到你当初编译php的参数。