本文目录一览:
- 1、如何在编译好的PHP环境中安装PHP扩展模块
- 2、PHP的扩展模块怎么添加?
- 3、PHP安装使用?
- 4、thinkphp 使用http扩展类 下载png等图片格式文件正常,但是下载doc,zip等文件时没有后缀
- 5、如何编译安装PHP扩展
- 6、php怎么安装
如何在编译好的PHP环境中安装PHP扩展模块
1、先进入php解压缩后的源码包中,找到要安装的扩展模块的目录。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目录下面以绝对路径运行phpize程序,这时会自动生成sockets的configure程序,在sockets目录下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、进行编译安装
[root@redhat5 sockets]# ./configure --with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
执行完make install屏幕上会提示sockets.so存放的路径,然后把它复制到php的extensions目录中,例如我的路径为 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = "./" 这行,修改为:
extension_dir = "/home/webserver/php5.2.12/lib/php/extensions/"
然后再新增加一行:
extension=sockets.so
4、重启apache即可生效。
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的动态模块加载就完成了。
PHP安装使用?
从 网站下载WINDOWS版本的php压缩包或安装包 (如果是安装包,可以直接安装,则以下操作基本上可以忽略。但为了更好的安全性,建议采用压缩包自己安装配置有关参数) 2. 将下载的php5.0压缩包解压到指定位置,如为C:\PHP5 3. 在c:\php5文件夹中,用记事本打开文件php.ini-dist,修改如下内容后“另存为...”php.ini文件 (1)查找到safe_mode = 段落,将safe_mode = Off修改为safe_mode = On (2)查找到expose_php = On段落,将expose_php = On修改为expose_php = Off (3)查找到display_errors = On段落,将display_errors = On修改为display_errors = Off (4)查找到extension_dir = 段落,设置动态库扩展的路径,如extension_dir = c:\php5\ext (5)查找到 ; cgi.force_redirect = 1段落,修改为 cgi.force_redirect = 0 提示:(4)和(5)是必须做的。记着要另存为php.ini 4. 将编辑好的php.ini文件剪切到Windows安装文件夹下(如:C:\Winnt 或 C:\Windows) 5. 在IIS中,选择要使用PHP的站点,右键菜单中选择“属性”,选择“主目录”标签,在该界面中点“配置”,添加或重新编辑php扩展的“应用程序扩展名映射”,可执行文件选择为C:\php5\php5isapi.dll,扩展名为php,确定应用后退出IIS配置 6. 停止IIS的WEB站点,并重新启动该站点。 提示:如果是Windows 2003,应增加WEB扩展,将PHP置为允许
thinkphp 使用http扩展类 下载png等图片格式文件正常,但是下载doc,zip等文件时没有后缀
header 制定的下载类型不对,
$extension=pathinfo($file, PATHINFO_EXTENSION);
switch ($extension){
case "jpg":
case "jpeg": $ctype="image/jpeg"; break;
case "pdf": $ctype="application/pdf"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "doc": $ctype="application/msword"; break;
case "zip": $ctype="application/zip";break;
case "rar": $ctype="application/rar"; break;
case "mp3": $ctype="audio/mpeg3"; break;
case "avi": $ctype="video/avi"; break;
case "doc": $ctype="application/msword";break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "wav": $ctype="audio/wav"; break;
case "htm": $ctype="text/html"; break;
case "txt": $ctype="text/plain"; break;
case "flv": $ctype="flv-application/octet-stream"; break;
case "mp4": $ctype="video/mp4"; break;
default: $ctype="application/force-download"; //$ctype="application/octet-stream";
}
header("Content-type: ". $ctype);
如何编译安装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
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
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
php怎么安装
集成包安装很简单,就不用说了把,这个单独安装步骤我以前就那么装的,首先装mysql,测试mysql是否成功,再装apache了测试,php下载下来配置就是了;
1:安装mysql
双击安装文件
windows 7 8
1:创建不同系统目录
f:/dev/mysql
f:/dev/mysqldata
f:/dev/apache
f:/dev/php
2:wamp 停止..退出
3:mysql
双击安装文件:mysql-5.1.57-win32.msi
1:欢迎 [Next]
2:许可协议
[*]I accept
[Next]
3:选择安装方式
[]典型
[]小最
[*]自定义 选择C开头的
Next
4:安装目录
f:/dev/mysql [Change]
mysql server datafile
f:/dev/mysqldata
Next
Install
5:广告
Next
Next
6:安装完成
[*]配置数据库
Finish
7:欢迎
Next
8:[*] Detailed
Next
9:[*]Developer
Next
10:
[*] Multifunctional
Next
11:innodb 表空间
Next
12:OLAP
Next
13:网络端口
3306
Next
14:字符编码
[*]Manual 手工
[utf8]
知识点:
utf-8 mysql utf8
15:
[*]include bind
Next
16:
mysql 当中权限最高用户
root
[root]
[root]
Next
17:
Execute
18:
Finish
测试:
开始-运行-cmd
mysql -uroot -proot
//-------------------------------------
apache httpd-2.2.19-win32-x86-no_ssl.msi
1:Next
2:[*] I accept
Next
3:[tom.com]域名
[]服务器名称
[tom@tom.com]邮件
Next
4:安装目录
[]典型
[*]自定义
f:/dev/apache
5:[install]
6:[Finish]
测试
It works!
//---------------------------
php 压缩 php-5.2.17-Win32-VC6-x86.zip
copy f:/dev/php/
//---------------------------
配置
php配置文件
f:/dev/php/php.ini-dist 改名 php.ini
apache配置
f:/dev/apache/conf/httpd.conf
在这个配置文件里面改三项内容
三项
1:添加一项:
1:加载php解决程序
具体操作,在配置里面搜索LoadModule,在下面找一个内容复制一下,改为-》就可以了
LoadModule php5_module "f:/dev/php/php5apache2_2.dll"
2:php.ini 文件在哪个目录
PHPIniDir "f:/dev/php"
3:处理 .php 请求
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
(实质就是添加可以执行php的文件类型)
重要地方:安装目录 f:/dev/php
停止apache
启动apache
htdocs\index.php
?php
phpinfo();
所有php 程序保存 f:/dev/apache/htdocs/
★测试PHP配置是否成功,打开记事本,输入以下代码
?php
phpinfo()
?
1、打开php.ini配置文件,找到
on windows:
extension_dir = "f:/dev/php/ext"
2. 由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
3. 配置PHP的Session功能
1
;session.save_path = "/tmp"
修改为
1
session.save_path = "D:/phpsessiontmp"
4、配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
1
;upload_tmp_dir =
修改为
1
upload_tmp_dir = "D:/phpfileuploadtmp"
5、修改date.timezone,否则在执行phpinfo时date部分会报错:
Warning: phpinfo() [function.phpinfo]…
我们需要将
1
;date.timezone =
修改为
1
date.timezone = Asia/Shanghai
6.为了验证PHP是否能连接Mysql,你可以在index.php中创建如下代码
?php
$link=mysql_connect("127.0.0.1","root","root");
if(!$link) echo" Error";
else echo"欢迎进入";
mysql_close();
?