本文目錄一覽:
- 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();
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301718.html