php56phpini
A. centos php56 yum 安裝 imagick 需要哪些庫
關於什麼是ImageMagick
ImageMagick是一套軟體系列,主要用於圖片的創建、編輯以及轉換等
Centos 安裝ImageMagick
1. 依次運行以下命令
代碼如下
yum install ImageMagick
yum install ImageMagick-devel
yum install php-pear [for PECL]
安裝php-pear是為了使用pecl 中的 phpize , ?]的???霈F ERROR: `phpize』 failed
代碼如下
yum -y install php-devel
2. 安裝C編譯器
代碼如下
yum install gcc
如果裝不了gcc就用這個命令:
代碼如下
yum install gcc gcc-c++ autoconf automake
3. 安裝imagick
代碼如下
pecl install imagick
4. 載入imagick到php
在/etc/php.ini 加上extension=imagick.so
5. 重啟service httpd restart
6. 使用 phpinfo() 或運行 php -m | grep imagick 來查看是否安裝成功
另一種安裝安裝ImageMagick 與 imagick for php方法
1. 下載安裝ImageMagick
代碼如下
wget ftp://mirror.aarnet.e.au/pub/imagemagick/ImageMagick-6.6.8-10.tar.gz
tar -xzvf ImageMagick-6.6.8-10.tar.gz
./configure --prefix=/usr/local/imagemagick
make
make install
2. 下載安裝Imagick
註:安裝該擴展不要求安裝ImageMagick
代碼如下
wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz
tar -xzvf imagick-3.1.0RC1
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
make
make install
make install執行結果顯示:
代碼如下
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files: /usr/local/php/include/php/
生成imagick.so到/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/,
然後手動配置php.ini使其生效
小提示,安裝方法都差不多都是在linux中,只是有一種和linux命令,另一種使用了Centos命令了。
更多詳細內容請查看:http://www.111cn.net/sys/linux/48986.htm
B. php.ini配置里的include_path
直對include_path的作用不了解,也沒怎麼注意過它的用途,今天在網上看一些資料後明白了,記錄一下:
其實設置include_path的作用就是設置用include()函數包函文件時的路徑,當然也可以不設置include_path,只要在包函文件時寫出具體的文件相對或絕對路即可:
下面以安裝smarty為例:
下面內容中,我們都是假設你的文件放在了D:\Appserv\www\Smarty下。
1、找到你的php.ini配置文件修改php.ini的include_path選項,把smarty的庫文件路徑加上,比如:
include_path = "D:\Appserv\www\Smarty\libs"
提醒一下,php.ini中一共有兩處include_path,一處是Unix下使用的,一處是windows下使用的,要修改windows下使用的:
-------------------------------------------------------------
; Windows: "path1;path2"
;include_path = ".:/php/includes"
修改為:
; Windows: "\path1;\path2"
include_path = "D:\Appserv\www\Smarty\libs"
保存即可,這個是PHP的包含文件路徑,可以設置多個,用";"格開。
2、載入Smarty庫,如果在php.ini設置了include_path為D:\Appserv\www\Mysmarty\libs,那麼可以直接用include("Smarty.class.php");另外不設置include_path,可以直接把Smarty.class.php拷到網站目錄,就可以用相對路徑或用絕對路徑了,如include("D:\Appserv\www\Smarty\libs\Smarty.class.php");
可以看出設置了include_path後,要包函文件Smarty.class.php就比較簡便了,不用寫一大串的路徑(其實也不見得方便,只是當很多需要包函的文件都在一個目錄下時,這樣會覺得比較方便)。
有兩種方法來設置php的include_path.
一:修改php.ini文件中的include_path項。
例:include_path = .:/usr/local/lib/php:./include
二:使用ini_set方法(對於無法修改php.ini的情況)。
例:ini_set("include_path", ".:../:./include:../include
include_path補充
include_path用來設置include()或require()函數包含文件的參考路徑.
也就是說當使用include()或require()函數包含文件的時候,程序首先以include_path設置的路徑作為參考點去找文件,如果找不到,則以程序自身所在的路徑為參考點去找所要的文件,如果都找不到,則出錯.
當include_path設置了多個參考路徑(每個路徑用分號隔開)時,排在前面的路徑優先找.
例如: ini_set('include_path','d:\www\mysite\test;d:\www\mysite\test2');
include('aaa/test.php');
程序會先以路徑d:\www\mysite\test為參考去找aaa/test.php,若沒有,再以d:\www\mysite\test2為參考去找,再沒有,則以自身所在路徑為參考去找.
C. 我買了本php教材,遇到問題,各位幫忙解決一下。
第一步:下載apache2.2.17+php5.3.4+mysql安裝的文件
1. MySQL:下載地址mysql-5.1.49-win32.msi;
2. Apache: 下載地址httpd-2.2.17-win32-x86-openssl-0.9.8o.msi;
3. PHP5.3.3 下載地址php-5.3.4-Win32-VC6-x86
注意:一定要下載php-5.3.4-Win32-VC6-x86版本
的,不要下載php-5.3.4-nts-Win32-VC6-x86版本,更不要下載VC9版本的,因為他是IIS伺服器安裝版本。
第二步:安裝文件
1. 在要安裝的磁碟建一個文件夾(筆者的做法是在D盤的根目錄下創建一個php文件夾D:\php)。
2. 安裝Apache伺服器,安裝完成後的目錄結果是:D:\php\Apache。
3. 把下載的php-5.3.4-Win32-VC6-x86解壓的D:\php目錄中,可以把文件夾的名字改短,結果D:\php\php5
4. 安裝MySql資料庫,它的安裝和一般情況一樣。筆者把他安裝在(D:\php\MySQL)和php同目錄。
第三步:配置PHP5.3.4
1. 配置PHP5.3.3,打開php安裝目錄(筆者是D:\php\php5)可以看到目錄下有兩個這樣的文件php.ini- development和php.ini-proction,第一個是開發使用的配置文件,第二個是標準的生產環境的配置。
2. 選擇php.ini-development復制一份到同目錄下,並改名為php.ini使用文本工具打開,查找extension_dir,可以
看到兩個,選擇On windows:下面的那個並去得前面的分號修改為extension_dir = 「D:/php/php5/ext」,讀者根
據自己的目錄結構配置,目的是找到和php.ini同目錄下的ext文件夾中的擴展庫。
3. 查找extension=php_,去掉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前面
的分號。查找short_open_tag = Off把它修改成short_open_tag = On,讓其支持短標簽。
4. 復制php5ts.dll文件到WINDOWS/system32目錄下,只有php-5.3.3-Win32-VC6-x86版本中才有php5ts.dll
php-5.3.3-nts-Win32-VC6-x86版本是沒有的。
第四步:配置Apache
1. 打開Apache目錄下conf目錄中的httpd.conf文件,查找#LoadMole,在其末尾處大概是128行的地方
添加:
LoadMole php5_mole 「D:/php/php5/php5apache2_2.dll」
PHPIniDir 「D:/php/php5〃
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
目錄結構根據用戶自己目錄配置。
2. 查找DirectoryIndex index.html 將其修改成DirectoryIndex index.php default.php index.html index.htm default.html
default.htm
3. 查找DocumentRoot將其修改為指向你需要放置web文件的文件夾上(筆者在D:/php目錄中創建了一個
www文件夾)所以DocumentRoot就是DocumentRoot 「D:/php/www」,讀者可以根據自己配置來修改。
4. 查找<Directory將其修改為你自己配置的DocumentRoot的路徑(筆者是<Directory 「D:/php/www」>)
詳細說明:http://www.086php.com/index.php/%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%aeapache2217php534mysql/775
D. linux 配置php.ini不生效
centos下安裝php擴展不需要修改配置文件,sudo yum install php56-gd,就可以了,後面的名稱可能不對
E. mac中怎樣通過brew 安裝php的redis擴展
1、下載php-redis;
2、下載完後進行解壓,然後移動到系統自帶php的同級目錄;①
cp /Users/panxu/Desktop/phpredis /etc
3、進入phpredis;
cd /etc/phpredis
4、動態安裝php擴展模塊;②
/usr/bin/phpize
5、進行編譯;
./configure --with-php-config=/usr/bin/php-config
6、開始安裝;
make && make install
安裝完成,如果成功,會有如下提示:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20160303/
7、找到php.ini文件,並進行編輯;③
vi php.ini
在配置文件最後一行加入:
extension=redis.so
8、重啟php-fpm,完成安裝。④
步驟中的涉及到的資源和詳細解釋請參考:https://panxu.net/article/8400.html
F. 如何在linux下安裝phalcon框架php版本的擴展
#Ubuntu
sudoapt-getinstallphp5-devlibpcre3-devgccmakephp5-mysql
#Suse
sudoyast-igccmakeautoconfphp5-develphp5-pearphp5-mysql
#CentOS/RedHat/Fedora
sudoyuminstallphp-develpcre-develgccmake
#Solaris
pkginstallgcc-45php-56apache-php56
創建擴展:
gitclonegit://github.com/phalcon/cphalcon.git
cdcphalcon/build
sudo./install
添加擴展到你的php配置文件:
#Suse:在/etc/php5/conf.d/目錄下添加一個名為phalcon.ini的文件,內容如下:
extension=phalcon.so
#CentOS/RedHat/Fedora:在/etc/php.d/目錄下添加一個名為phalcon.ini的文件,內容如下:
extension=phalcon.so
#Ubuntu/Debianwithapache2:在/etc/php5/apache2/conf.d/目錄下添加一個名為30-phalcon.ini的文件,內容如下:
extension=phalcon.so
#Ubuntu/Debianwithphp5-fpm:在/etc/php5/fpm/conf.d/目錄下添加一個名為30-phalcon.ini的文件,內容如下:
extension=phalcon.so
#Ubuntu/Debianwithphp5-cli:在/etc/php5/cli/conf.d/目錄下添加一個名為30-phalcon.ini的文件,內容如下:
extension=phalcon.so
重啟Web伺服器
G. 我要用PHP鏈接ORACLE的資料庫,當我把PHP.INI的配置文件裡面的;extension=php_oci8.dll啟用之後
連接
<? if ($conn=Ora_Logon("user@TNSNAME","password"))
{ echo "SUCCESS ! Connected to database\n";
}else
{echo "Failed :-( Could not connect to database\n";}
Ora_Logoff($conn);
phpinfo();
?>
以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle資料庫名稱、用戶名稱和密碼連接資料庫。在成功連接的基礎上,ora_logon函數返回一個非零的連接ID並儲存在變數$conn中。
查詢
假設與資料庫已經連接就緒,下面我們就來實際的應用對資料庫的查詢。下面的代碼演示了一個連接並查詢的典型例子:
function printoraerr($in_cur)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
if(ora_errorcode($in_cur))
echo "Oracle code - ".ora_error($in_cur)."\n";
return;
}
if (!($conn=ora_logon("user@TNSNAME","password")))
{echo "Connection to database failed\n";
exit;
}
echo "Connected as connection - $conn \n";
echo "Opening cursor ... \n";
$cursor=ora_open($conn); printoraerr($cursor);
echo "Opened cursor - $cursor \n";
$qry="select user,sysdate from al";
echo "Parsing the query $qry ... \n";
ora_parse($cursor,$qry,0); printoraerr($cursor);
echo "Query parsed \n";
echo "Executing cursor ... \n";
ora_exec($cursor); printoraerr($cursor);
echo "Executed cursor \n";
echo "Fetching cursor ... \n";
while(ora_fetch($cursor))
{
$user=ora_getcolumn($cursor,0); printoraerr($cursor);
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo " row = $user, $sysdate \n";
}
echo "Fetched all records \n";
echo "Closing cursor ... \n";
ora_close($cursor);
echo "Closed cursor \n";
echo "Logging off from oracle... \n";
ora_logoff($conn);
echo "Logged off from oracle \n";
?>
顯示結果
以下代碼演示了怎樣查詢資料庫並將結果輸出:
function printoraerr($in_cur, $conn)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
// If it encountered an error, we exit immediately
if(ora_errorcode($in_cur))
{echo "Oracle code - ".ora_error($in_cur)." n";
ora_logoff($conn);
exit;
}
return;
}
function exequery($w_qry,$conn)
{
$cursor=ora_open($conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);
ora_exec($cursor); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// 顯示頭部
echo " \n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
echo "\t ".ora_columnname($cursor,$i)." \n";
}
echo " \n";
while(ora_fetch($cursor))
{
echo " \n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo " ".
ora_getcolumn($cursor,$i)." \n";
else
echo " ".ora_getcolumn($cursor,$i)." \n";
printoraerr($cursor,$conn);
}
$numrows++;
echo " \n";
}
if ($numrows==0)
echo " Query returned no records \n";
else
{
echo " \n";
echo " Count \n";
echo " $numrows \n";
echo " \n";
}
echo " \n";
ora_close($cursor);
return;
}
// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "Error: Cannot connect to database\n";
exit;
}
$qry="SELECT
deptno \"Dept\"
,empno \"Emp\"
,empnm \"Name\"
,salary \"Salary\"
FROM
employee
ORDER BY 1,2";
exequery($qry);
ora_logoff($conn);
?>
基於HTTP的Oracle登錄
將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設定$ SID。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "
You are not authorized to enter the site
\n";
exit;
}
else
{
if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))
{Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "
You are not authorised to enter the site
\n";
exit;
}}
?>
H. 已裝nginx和php怎麼安裝vestcap
首先下載所需要的軟體和工具,建議大家直接從程序的官方網址下載。 建議將所有的文件都下載到D盤的Server目錄下,這樣方便管理和維護,本教程後面的默認目錄都是D:Server目錄哦 聲明下:下面的下載地址都是來源官方地址,放在這里純粹是方便大家下載,不喜歡的可以網路自行查找! ---------------------------------------------------------------- Nginxforwindowsz最新穩定版官方下載地址http://nginx.org/download/nginx-1.6.2.zip mysql5.5官方下載地址根基自己的愛好和機器配置選擇吧 http://dev.mysql.com/downloads/file.php?id=45457164位的安裝包 http://dev.mysql.com/downloads/file.php?id=45457032位的安裝包 雖然好像現在已經出5.6版本了,但是還是建議用5.5吧,5.6的體積是在太大了有200多M呢,5.5才幾十M PHP下載 這里我們都默認下載NTS版本的PHP PHP5.2.13官方最終版 http://museum.php.net/php5/php-5.2.13-nts-Win32.zip PHP5.3.29目前使用最多的PHP版本 http://windows.php.net/downloads/qa/php-5.3.29RC1-nts-Win32-VC9-x86.zip PHP5.6(5.6.4RC1)官方最新的穩定版 http://windows.php.net/downloads/qa/php-5.6.4RC1-nts-Win32-VC11-x86.zip RunHiddenConsole.exe用來隱藏Nginx和PHP的小工具,這里直接提供一個網盤地址給大家,省得大家到處找了 ---------------------------------------------------------------- 安裝mysql mysql的安裝比較簡單,由於我們下載的是安裝包,所以直接打開按照提示安裝即可,配置默認就可了,這里不在啰嗦了。 安裝nginx windows版本的Nginx是個壓縮包,直接解壓到D:Server ginx目錄即可,見圖。配置後面統一講 安裝PHP 這里我們下載的是PHP的壓縮包,也是不用安裝,直接解壓到對應的目錄即可,文件名稱就不用修改了,方便查看是那個版本。 分別解壓到的對應目錄如下 D:Serverphp-5.2.13-nts-Win32 D:Serverphp-5.3.29-nts-Win32-VC9-x86 D:Serverphp-5.6.4-nts-Win32-VC11-x86 安裝附帶的小工具RunHiddenConsole.exe 這個是個綠色軟體,不用安裝,直接解壓到nginx的目錄即可,見圖 配置Nginx同時支持PHP5.2+php5.3+PHP5.6 這里我們採用php的fastcgi模式來配置nginx對php的支持 1)、首先打開nginx的配置文件目錄D:Server ginxconf找到nginx.conf打開它,我們需要先對他進行改造,以方便我們使用。 我們將server部分的默認配置全部注釋掉,然後將server部分的配置全部轉移至D:Server ginxconfvhost目錄[添加配置語句 includevhost/*.conf; 見圖. 2)、在D:Server ginxconf目錄分別新建php52.confphp53.conf和php56.conf配置文件見圖,對應的文件和內容如下: D:Server ginxconfphp52.conf indexdefault.htmlindex.htmlindex.htmdefault.phpindex.php; location~.*.(php|php5)?${ fastcgi_pass127.0.0.1:9052; fastcgi_indexindex.php; includefastcgi.conf; } D:Server ginxconfphp53.conf indexdefault.htmlindex.htmlindex.htmdefault.phpindex.php; location~.*.(php|php5)?${ fastcgi_pass127.0.0.1:9053; fastcgi_indexindex.php; includefastcgi.conf; } D:Server ginxconfphp56.conf indexdefault.htmlindex.htmlindex.htmdefault.phpindex.php; location~.*.(php|php5)?${ fastcgi_pass127.0.0.1:9056; fastcgi_indexindex.php; includefastcgi.conf; } 說明:這里的127.0.0.1:90xx是php所對應版本的監聽地址和埠,此處設置的xx為本人最近定義的對應PHP版本的埠號,如9052表示的是PHP5.2版本[本人原創,不喜歡這個埠可設置任意你能記住的埠,當然這個埠必須是其他程序沒有使用的] 3)、轉到php目錄配置PHP.ini 將對應的PHP版本的目錄裡面的php.ini-development改名為php.ini然後根據自己的實際使用需要配置就可以了,具體可網路搜索「PHP配置文件詳解php.ini」查看 4)、在D:Server ginx目錄創建PHP的啟動和關閉腳本 先創建ReStartNginx.bat文件,然後添加如下內容: @ECHOOFF echoStoppingnginx... taskkill/F/IMnginx.exe>nul echoStoppingPHPFastCGI... taskkill/F/IMphp-cgi.exe>nul echoReStartingnginx... ECHOStartingPHPFastCGI... RunHiddenConsoleD:/Server/php-5.2.13-nts-Win32/php-cgi.exe-b127.0.0.1:9052-cD:/Server/php-5.2.13-nts-Win32/php.ini RunHiddenConsoleD:/Server/php-5.3.29-nts-Win32-VC9-x86/php-cgi.exe-b127.0.0.1:9053-cD:/Server/php-5.3.29-nts-Win32-VC9-x86/php.ini RunHiddenConsoleD:/Server/php-5.6.4-nts-Win32-VC11-x86/php-cgi.exe-b127.0.0.1:9056-cD:/Server/php-5.6.4-nts-Win32-VC11-x86/php.ini echoStartingnginx... D:/Server/nginx/nginx.exe exit 創建stop.bat【關閉nginx和PHP服務的】文件,添加如下內容 @echooff echoStoppingnginx... taskkill/F/IMnginx.exe>nul echoStoppingPHPFastCGI... taskkill/F/IMphp-cgi.exe>nul exit 完成以上步驟後,直接打開ReStartNginx.bat大公告成!