❶ 如何通過linux命令行使用和運行PHP腳本
1.用php -q 文件名.php 方式把php程序當shell程序來用,
2.用php -s把自己的php程序顯示有語法高亮色彩的html源文件。這樣是不是很省心?
3.利用php的odbc功能可以在shell命令中對資料庫進行操作。
#0 6 * * * /usr/local/bin/php /home/web/do/index.php
4.查看擴展庫
/usr/local/php/bin/php -m
5.檢查php.ini配置是否正確
/usr/local/php/bin/php -v
6.讓php運行指定文件
php my_script.php
php -f my_script.php
7.在命令行直接運行 PHP 代碼。
php -r 『print_r(get_defined_constants());』
php -r 『phpinfo();』
8.用該參數,您可以指定一個放置 php.ini 文件的目錄,或者直接指定一個自定義的 INI 文件
php -c /custom/directory/custom-file.ini my_script.php
9.顯示除去了注釋和空格的源代碼。
php -w a.php
10.php -i
該命令行參數會調用 phpinfo() 函數,並列印出結果。
❷ 求一點PHP對TXT文件和文章的操作教程
PHP教程.安裝PHP
安裝PHP
本章將按下列步驟編譯安裝以下軟體:
* Apache v.1.3.4 -- 世界上最流行的Web伺服器。
* gcc v.2.8.1 -- 來源於GNU的C和C++編譯器。
* MySQL v.3.22.16b-gamma -- 世界范圍內許多人使用的資料庫。
* PHP v.3.0.11 -- 本書所主要介紹的軟體。從http://www.php.net(或此站點的鏡象站點)直接下載可以得到較新的版本。本章的其它步驟仍然適用。
* expact -- 用於讀取和處理XML文檔的函數庫。
* phplib -- 用於進行會話管理的PHP函數庫。
* libiodbc -- 主要用於存取在非UNIX計算機中資料庫的ODBC函數庫。
* MyODBC -- PHP、iODBC和MySQL之間的函數庫。
即便如此,本章也並不是介紹編譯應用程序所需要的那些指令,而只是簡單的進行描述。總之,本書的重點是介紹PHP語言,而不是C語言。每一個應用程序的編譯對我來說都十分清楚,希望每個讀者也能沒有困難的進行編譯。假如你確實碰到了一些問題,可以在某個IRC頻道中有禮貌的詢問,或者可以嘗試使用新聞組(可以從http://www.dejanews.com訪問)得到幫助來解決問題。然而,最好的幫助還是來自http://www.php.net 上的PHP郵件列表。
在開始編譯過程之前,讓我們先討論一下如何從錯誤中恢復。在得到有關錯誤的幫助以後,可以採用以下的命令重新初始化源碼目錄:
* rm config.cache--幾乎所有的Linux應用程序都使用configure命令來檢查自己的系統,以尋找有關如何剪裁編譯過程的信息。檢查的結果將存貯在一個名為config.cache的文件中。如果移走此文件,將迫使配置程序從頭開始重新檢查系統。
* make distclean--所有的用C語言編寫的Linux應用程序都是用make程序編譯的。make程序會尋找每一個源文件,以確認是需要編譯還是已經編譯過的。make distclean命令可以「重置」所有的源程序,以便能重新編譯它們。
* make clean--有的應用程序不支持make distclean命令,而用make clean命令來代替。make clean命令「重置」所有的源程序,以便能重新編譯它們。
即使要安裝的一些應用程序不支持以上的每個命令,但是試一下這些命令也不會有什麼害處。
注意:Red Hat v5.2使用glibc庫。如果用戶從互聯網中下載或更新在本章中安裝的程序時,必須知道glibc的信息。使用者可以使用rpm -q glibc命令來查出已經安裝的glibc庫的版本號。在作者的系統中,使用rpm -q glibc命令將顯示glibc-2.0.7.29。
2.1 基本概念
也許讀者以前從沒有編譯過Linux應用程序,在這里介紹一些基本概念,以便在出現問題時有可能診斷出問題所在。
tar
tar,即tape archiver,它可以把幾個文件組合成一個文件,並可以選擇是否進行壓縮。這個命令過去通常用來進行備份,以便使數據存儲在磁帶中。當tar文件被壓縮時,它們有一個.gz的後綴;當tar文件沒有壓縮時,它們有一個.tar的後綴。
gcc
gcc 是GNU的C編譯器。它的工作是把人可以看懂的源代碼文件編譯成機器可以讀懂的目標文件。C源文件通常有.c的後綴名,目標文件通常有.o的後綴名。如果編譯工作不能正常進行,就是碰到了一個編譯期的錯誤,或者說:語法錯誤。在大多數情況下,不徹底的編譯通常是編譯器找不到一個或幾個包含文件而產生的。包含文件都有一個.h的擴展名,通常用來定義不同的系統信息,以及將多個不同的.c文件所共有的信息收集在一起。
make
make是一個常用的工具程序,是用來幫助進行編譯的。它的工作是用來只編譯那些還沒有編譯過的源文件。編譯.c文件將生成一個.o文件,如果.c文件比.o文件更新,也就是說到上次編譯之前,源文件被編輯過,那麼make將會重新編譯.c文件。make指令一般是尋找一個Makefile文件,在這個文件中包含有一個或多個能執行的目標,例如,make clean會告訴make執行清除目標。
ld
ld是GNU的鏈接程序。它的工作是把所有的目標文件和庫鏈接起來,創建一個單一的可執行文件。幸運的是,基本上不用手工運行這個程序,因為Makefile將會考慮到所有的編譯細節。
ldconfig
ldconfig會為在多個庫目錄(在/etc/ld.so.conf中指定)中尋找共享庫。共享庫常被多個的應用程序使用,它們的文件名中的某個地方有.so,例如,libqt.so.1.42是一個共享庫。在編譯完畢之後,有可能需要在/etc/ld.so.conf文件中增加一個目錄,並且運行ldconfig -v命令。
./configure
configure將會在計算機中尋找一些關鍵信息,例如,安裝的是哪一種C編譯器,包含文件在哪裡等等。然後,configure將會按照所用的計算機配置重新修改Makefile文件。應該使用./configure來在當前目錄下運行程序,以避免偶然運行$PATH環境變數中的目錄下的其他程序。
符號連接
符號連接允許使用者可以為一個已經現有的文件指定另一個不同的名字。例如,使用者有可能想把一個名為libqt.so.1.42的文件稱為libqt.so.1。符號連接基本上可以使用戶把一個文件復制到另一個不同的目錄下面,但事實上並沒有真正復制此文件。第二個文件實例只是簡單地指向第一個文件實例。使用符號連接至少可以有兩點好處,第一點是符號連接可以節省硬碟空間,少到只有16位元組;第二點有一點微妙,讓我們先看一下一個名為libqt.so.1且指向libqt.so.1.42的符號連接。如果需要升級到libqt.so.1.88,該怎麼辦呢?用戶只要簡單地改變符號連接,使libqt.so.1指向libqt.so.1.88,而非libqt.so.1.42即可。這意味著涉及到libqt.so.1的程序將自動地使用這個庫的新版本。按照慣例,符號連接常用於完整的發布版本號。換句話說,libqt.so.1.88和libqt.so.2.32應該有兩個不同的動態連接(分別為libqt.so.1和libqt.so.2)。
2.2 編譯前的准備工作
以下步驟將為系統做好編譯前的准備工作。
1. mkdir /usr/local/src -- 我選用/usr/local樹作為所安裝應用程序的根目錄。其他人可能選用/usr/opt、/opt或/var目錄。為了更方便的按照本章中的指令操作,請選用/usr/local目錄作為根目錄。當編譯完成以後,用戶可以把這些文件復制到不同的目錄中。
注意:為了能完成本章中的其它步驟,使用者必須具備root許可權。
2. cd /usr/local/src--轉到源文件目錄下。
3. 下載以下文件(可以從http://www.mtolive.com/phpbook站點下載),或者從本書隨機附帶的光碟中,復制這些文件到/usr/local/src目錄下:
. apache_1.3.4.tar.gz
. gcc-2.8.1.tar.gz
. mysql-3.22.16b-gamma.tar.gz
. php-3.0.11.tar.gz
. expat.tar.gz
. phplib.tar.gz
. libiodb-2.50.3
. myodbc-2.50.24-src
4. 使用tar命令解壓縮以上文件。tar的x選項為解開選項,v選項將在屏幕上顯示文檔中解出來的文件名,z選項為解壓縮選項,f選項用於在命令行中指定.tar文件名。
tar xvzf apache_1.3.4.tar.gz
tar xvzf gcc-2.8.1.tar.gz
tar xvzf mysql-3.22.16b-gamma.tar.gz
tar xvzf php-3.0.11.tar.gz
tar xvzf expat.tar.gz
tar xvzf phplib.tar.gz
5. gcc -v
確定系統中現有gcc的版本。如果你的系統不是v2.7.2.3,在下面的操作步驟中採用你的gcc版本號替換v.2.7.2.3。
6. cp `which gcc` /usr/bin/gcc-2.7.2.3
如果需要,把現有的gcc備份,以便以後使用。Linux的另一個優點是可以很容易在目錄下存儲一個程序的多個版本。
7. httpd -v
確定系統中的Apache的版本號。如果你的系統中的Apache不是v1.3.4,在下面的操作步驟中使用你的版本號替換v1.3.4。
8. mv `which httpd` /usr/sbin/httpd-1.3.4
如果需要,把現有的Apache備份,以便以後使用。
2.3 編譯C編譯器gcc
使用者應該安裝、編譯程序的第一個程序就是C編譯器。隨Red Hat v5.2附帶的C編譯器是gcc v2.7.2.3,由於它的版本比較低,以至於不能正確的編譯PHP。然而gcc v.2.7.3可以用來編譯版本較高的gcc v2.8.1。
編譯新版本的gcc需要執行:
1. cd /usr/local/src/gcc-2.8.1
轉到gcc的頂級目錄下。
2. ./configure -prefix=/usr/local/gcc
運行配置程序,強制安裝程序在後面的安裝過程中使用/usr/local/gcc作為gcc的安裝目錄。
3. make bootstrap LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
編譯新的C和C++編譯器。
4. make install LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
安裝新的C和C++編譯器。
5. mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-2.8.1
把新的gcc編譯器重新命名,使它的名字中含有版本號。
6. ln -s \
/usr/local/gcc/bin/gcc-2.8.1 \
/usr/bin/gcc-
給新編譯過的gcc可執行文件創建一個符號連接/usr/bin/gcc。
7. gcc -v
顯示gcc的版本號。如果編譯和安裝都正常的話,將顯示v.2.8.1。
2.3 編譯MySQL
現在來編譯MySQL。在編譯工作完成之後,就可以使用MySQL的應用程序來測試安裝。
1. cd /usr/src/mysql-3.22.16a-gamma
轉到MySQL的頂級目錄下。
2. ./configure --prefix=/usr/local/mysql
運行配置程序,強制安裝程序在後面的安裝過程中使用/usr/local/mysql作為MySQL的安裝目錄。
3. make
編譯MySQL。
4. make install
安裝MySQL。
5. echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
將MySQL庫所在的目錄添加進配置文件中。這樣,當Linux啟動或者執行ldconfig命令時,將會在該配置文件中的目錄里搜索庫文件。
6. ldconfig -v | grep libmysqlclient
ldconfig命令能讀取/etc/ld.so.conf文件中列出的目錄,並對在那些目錄里找到的庫文件進行緩沖。grep命令在ldconfig命令的大量輸出結果中查找MySQL庫文件,並限定文本以類似下面方式進行顯示:
libmysqlclient.so.6 => libmysqlclient.so.6.0.0.
7. echo "/usr/local/mysql/bin/safe_mysqld > /dev/null &" >> /etc/rc.d/rc.local
將MySQL啟動指令添加到/etc/rc.d/rc.local文件中,這樣每次啟動Linux後就會自動運行MySQL。
8. ./scripts/mysql_install_db
初始化資料庫。
9. /usr/local/mysql/bin/safe_mysqld > /dev/null &
啟動MySQL伺服器作為後台程序,為了測試安裝,MySQL伺服器必須啟動。
10. ln -s \
/usr/local/mysql/bin/mysql \
/usr/bin/mysql
我比較喜歡在/usr/bin目錄下為安裝目錄建立符號鏈接。這一方法減少了PATH環境變數中的目錄數量,還可以將不希望其他人運行的MySQL工具程序隱藏起來,(例如,mysqladmin命令)。另一方法是將命令PATH="$PATH:/usr/local/mysql/bin"放在/etc/profile文件中。以上兩種方法都很可以採用。
11. ln -s\
/usr/local/mysql/bin/mysqlshow \
/usr/bin/mysqlshow
該指令是讓一般用戶都可以運行mysqlshow命令。
2.4 測試MySQL
在繼續Apache和PHP編譯之前,首先來測試MySQL的安裝是否成功。正式發布的MySQL帶有許多有用的工具,這里我們只使用mysql和mysqlshow命令來進行測試。(如果對資料庫不熟悉,請不用擔心,諸如用戶、表、記錄等資料庫的概念將在第六章「資料庫和SQL」中加以介紹。)
mysqladmin的作用是建立和刪除資料庫、檢查SQL的狀態,以及其他一些用途。首先,通過檢查版本號以確認是否已經正確安裝了MySQL:
>PATH="usr/local/mysql/bin:$PATH"
>mysqladmin version
Ver 7.8 Distrib 3.22.16a-gamma, for pc-linux-gun on i686 TCX Datakonsult AB, by Monty
Server version 3.22.16a-gamma
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 2 hours 30 min 39 sec
Threads: 1 Questions: 7 Slow queries: 0
Opens: 6 Flush tables: 1 Open tables: 2
可以用以下命令觀看mysqladmin的所有功能.
mysqladmin --help | less
也許mysqlshow是更讓人激動的工具,它能夠列出資料庫、表和欄位名,如下所示:
清單2.1 mysqlshow--顯示資料庫,表和欄位名清單
Page 18(第13行)-19(倒數第10行) , 清單 2.1
最後要介紹的MySQL工具是mysql,這個程序將深入到MySQL的中心,並且可以使你可以立刻在Linux命令行提示下執行SQL語句。在shell模式下運行mysql。
Page 19(倒數第5行)-20(倒數第5行)
小心:設置密碼要使用password()函數。如果需要進一步了解,請查閱MySQL文檔。
小心:在系統進入正常工作模式的時候,請選用一個比「password」更好的root密碼。
2.5 編譯iODBC和MyODBC
iODBC是一個實現開放性資料庫互連(Open Database connectivity)協議的函數庫。它主要用於連接運行於Microsoft Windows的資料庫引擎。
1. cd /usr/local/src/libiodbc-2.50.3
轉到iODBC目錄。
2. ./configure \
--prefix=/usr/local/iodbc \
--with-iodbc-inidir=/usr/local/etc
運行配置程序,並強制設置iODBC為安裝到目錄/usr/local/iodbc下。此外,應確認odbc的初始化文件為/etc/odbc.ini。
3. make
4. make install
把庫文件復制到目錄/usr/local/iodbc/lib下,並且把包含文件復制到目錄/usr/local/iodbc/include下。
5. cd /usr/local/src/myodbc-2.50.24
轉到MyODBC目錄下。
6. ./configure \
--prefix=/usr/local/myodbc \
--with-mysql-sources=/usr/local/mysql-3.22.16a-gamma \
--with-odbc-ini=/etc/odbc.ini \
--with-iodbc=/usr/local/iodbc
運行MyODBC配置程序。
7. make
8. make install
把庫復制到目錄/usr/local/myodbc/lib下。
2.6 編譯PHP
編譯PHP比編譯以前的應用程序更復雜,這是因為編譯PHP事實上是expat、Apache和PHP的組合。編譯的結果將生成一個帶有PHP的Apache版本。為了要編譯PHP,可以採用以下步驟:
1. cd /usr/local/src/expat
轉到expat目錄。
2. make
編譯expat源文件。
3. 把以下命令加到Makefile文件中,必須保證在輸入ar和ralib之前使用的是Tab鍵。
libexpat.a: $(OBJS)
ar -rc $@ $(OBJS)
ranlib $@
4. make libexpat.a
把expat目標文件組合成庫文件。
5. mv libexpat.a /usr/local/lib
PHP配置文件在/usr/local/lib目錄下尋找libexpat.a文件。把libexpat.a文件移到PHP配置文件已知的目錄下,可以為以後的操作減少麻煩。
6. cd /usr/local/src/php-3.0.11
轉到PHP的頂級目錄下。
7. mkdir /usr/local/include/xml
確認/usr/local/include/xml目錄是存在的。
8. ln -s \
/usr/local/src/expat/xmltok/xmltok.h \
/usr/local/include/xml/xmltok.h
當能創建符號連接時,為什麼還要復制呢?
9. ln -s \
/usr/local/src/expat/xmlparse.h \
/usr/local/include/xml/xmlparse.h
這是PHP為了能夠正確地被編譯所需要的另一個包含文件。
10. cd /usr/local/src/apache_1.3.4
轉到Apache的頂級目錄下。
11. ./configure -prefix=/usr/local/apache
運行配置程序,強制設置Apache安裝目錄為/usr/local/apache。
12. cd /usr/local/src/php-3.0.11
轉到PHP的頂級目錄下。
13. ./configure \
--with-apache=../apache_1.3.4 \
--with-iodbc=/usr/local/iodbc \
--with-mysql=/usr/local/mysql \
--with-xml
運行配置程序,並且告訴配置程序支持Apache、MySQL和XML。
14. make
編譯PHP源文件。
15. make install
安裝已編譯的文件。PHP庫文件會被放在Apache的模塊目錄下,這樣可以在編譯Apache時能找到它們。
16. cd /usr/local/src/apache_1.3.4
轉到Apache的頂級目錄下。
17. ./configure \
--prefix=/usr/local/apache \
--active-mole=src/moles/php3/libphp3.a
再一次配置Apache,這次告訴Apache要載入PHP模塊。
18. make
編譯Apache源文件。
19. make install
安裝已編譯的文件。
20. mv \
/usr/local/apache/bin/httpd \
/usr/local/apache/bin/httpd-1.3.4
重新命名新創建的httpd可執行文件,這樣就能夠安裝多種版本。
21. ln -s \
/usr/local/apache/bin/httpd-1.3.4 \
/usr/sbin/httpd
建立一個指向新的可執行文件的符號鏈接。
22. httpd -v
證實可以訪問新的可執行文件。該命令的執行結果將顯示版本1.3.4,而且建立日期也應該正確無誤。
23. 編輯/usr/local/apache/conf/http.conf文件,搜索AddType並確認下列行未加註釋。
AddType application/x-httpd-php3 .phtml
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
24. 接著編輯/usr/local/apache/conf/http.conf文件,搜索DirectoryIndex並將index.php3放在行尾。
25. 創建一個名為/usr/local/local/php3.ini的文件,該文件應包含如下的命令行:
include_path=.:/usr/local/apache/php/
auto_prepend_file=/usr/local/apache/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
26. ln -s \
/usr/local/src/php-3.0.11/doc/manual.html \
/usr/local/src/php-3.0.11/doc/index.html
建立一個符號鏈接,這樣絕大多數Web瀏覽器就會正確地自動顯示PHP文件起始頁。
27. ln -s \
/usr/local/src/php-3.0.11/doc \
/usr/local/apache/htdocs/phpdocs
建立一個符號鏈接,這樣就可以通過http://localhost/phpdocs/, 來訪問PHP文檔。
28. 創建一個叫做/usr/local/apache/htdocs/robots.txt的文件,這樣就可避免搜索引擎為PHPLIB,phpMyAdmin和PHP文件建立索引,新創建的文件應包括如下設置行:
#robots.txt for (hostname)
User-agent *
Disallow: /phpdocs/
Disallow: /php/
Disallow:/phpMyAdmin/
2.7 安裝PHPLIB
在閱讀第15章「處理並發的訪問」之前,應先安裝PHPLIB,可以按照下列步驟進行安裝:
1. 以root用戶或其他任何可以在/usr/local/apache目錄下寫文件的用戶注冊。
2. cd /usr/local/apache/
在開始下載文件之前,進入到Web伺服器的頂級目錄下。
3. 從如下Web網址下載最新版本的文件,注意gz後綴的文件名,以免它的文件名phplib.tar.gz被改動。
http://phplib.shonline.de/
4. tar xv2f phplib.tar.gz
解壓縮PHPLIB模塊。
5. 編輯/usr/local/lib/php3.ini文件,應包括下列設置內容:
include_path=.:/usr/local/apache/phplib-6.1/php
auto_prepend_file = /usr/local/apache/phplib-
6.1/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
6. 建立一個名為poe_sessions的mysql資料庫。我一般使用phpMyAdmin,如果願意,也可以使用SQL命令創建資料庫。
7. cd /usr/local/apache/phplib-6.1/stuff
進入建表目錄下。
8. mysql php_book --user=root --password <
create_database.mysql
創建PHPLIB所需要的資料庫表。
9. 使用以下值在mysql資料庫表中增加一條新記錄:
host: %
password: <-- no password.
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user02".
注意:也可以使用如下SQL語句:
INSERT INTO
user
(
Host
,User
,Password
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'kris'
, ''
, 'Y', 'Y', 'Y', 'Y'
)
10. 使用以下值在mysql資料庫的db表中增加一條新記錄:
host: %
db: poe_sessions
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user03".
注意:也可以使用如下SQL程序。
INSERT INTO
db
(
Host
,Db
,User
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'poe_sessions '
, 'kris'
, 'Y', 'Y', 'Y', 'Y'
)
11. /usr/local/mysql/bin/mysqladmin -u root -p reload
重新裝載MySQL許可權表。
12. 在php_book資料庫中創建兩個PHPLIB已認證的用戶(user01和user02),可以使用如下SQL語句:
INSERT INTO
auto_user
(
uid
,username
,password
,perms
) VALUES (
''
,'user01'
,'test'
,'admin'
)
INSERT INTO
auth_user
(
uid
,username
,password
,perms
) VALUES (
''
,'user02'
,'test'
,'admin'
)
13. mv\ /use/local/apache/phplib-6.1/pages \
/use/local/apach/htdocs
將演示子目錄置於Web伺服器的根目錄下,這樣就可以用瀏覽器訪問它。
14. 編輯文本文件/usr/local/apache/htdocs/robots.txt,使它包括如下內容:
Disallow: /phplib/
15. 使用Web瀏覽器訪問http://localhost/phplib/。將會看到如圖2.1所示頁面。
Page 29 圖2.1
圖2.1 重新裝載兩次以後出現的PHPLIB演示頁面
2.8 測試Linux環境下的ODBC
對所裝軟體進行基本測試是很重要的,特別是需要手工編輯配置文件時。如下的測試可確保你的MySQL驅動程序運行正常,並且編譯的iODBC庫文件也是正確無誤的。
1. 使用清單2.1所列的內容,建立一個名為/usr/local/etc/odbc.ini的文件。
清單 2.2 /usr/local/etc/odbc.ini- 系統ODBC 配置文件
;
;odbc.ini
;
[ODBC Data Sources]
mysql = mysql
[php_book]
driver = /usr/local/myodbc/lib/libmyodbc.so
host = localhost
database = mysql
user = root
2. cd /usr/local/src/libiodbc-2.50.3/samples
3. ./odbctest
運行ODBC測試程序。
4. DSN=mysql;PWD=password
告訴測試程序要訪問的數據源。
5. select host,user from user
在提示符下執行一個SQL語句,如果有回應,說明iODBC和MySQL已經可以使用了。
現在,在計算機中已經安裝好了ODBC,由於它的安裝步驟不太清晰而且文檔又很少,所以本章中講述了其安裝和測試指令,然而鑒於ODBC主要是一項Microsoft技術,且很少在Linux中用到,所以這里是本書中最後一次有關介紹。
2.9 總結:
本章講述了如何獲取PHP,及在計算機中進行安裝所需要的步驟,編譯了內建PHP的特定版本Apache 伺服器。同時,還安裝了將在第15章「中場四:處理並發訪問」中用所到的PHPLIB。
❸ linux怎麼設置php odbc
、安裝unixODBC
這里選擇編譯安裝(說明:之前有安裝rpm包,也不會影響,configure的時候可以自定義安裝目錄,版本2.3.0)
tar zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
./configure --prefix=/usr/local/lib --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/etc
make
make install
安裝完成之後,生成相應的文件如下
<pre name="code" class="sql"> ll /etc/*.ini
-rw-r--r--. 1 root root 233 Jul 7 18:03 /etc/odbc.ini
-rw-r--r--. 1 root root 292 Jul 7 18:59 /etc/odbcinst.ini
ll /usr/local/lib/
這樣試試呢,我在後盾網學習,現問的老師相關問題,我結合自己的知識理解回答你的,希望能幫到你
❹ linux系統下怎麼搭建網站伺服器
具體方法如下:
1、使用putty或類似的SSH工具登錄伺服器(本地安裝跳過);
❺ 開源的資料庫有哪些
四大開源資料庫是哪些
開源世界中的那幾個免費資料庫
發布時間:2011-11-22 09:34:30 來源:CSDN 評論:0 點擊:1476 次 【字型大小:大 中 小】
QQ空間 新浪微博 騰訊微博 人人網 豆瓣網 網路空間 網路搜藏 開心網 復制 更多 0
開源資料庫MySQLMySQL是一個開放源碼的小型關聯式資料庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源...
開源資料庫MySQL
MySQL是一個開放源碼的小型關聯式資料庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。
盤點:開源社區那些免費的資料庫軟體
MySQL為多種編程語言提供了API,包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。而其自身是採用C和C++編寫的,使用了多種編譯器進行測試,所以,MySQL能夠保證源代碼具有很強的可移植性。這樣的一款資料庫,自然能夠支持幾乎所有的操作系統,從Unix、Linux到Windows,具體包括AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多種操作系統。最重要的是,它是一個可以處理擁有上千萬條記錄的大型資料庫。
與此同時,MySQL也產生了很多分支版本的資料庫也非常值得推薦。
首先是MariaDB,它是一個採用Maria存儲引擎的MySQL分支版本,是由原來MySQL的作者 Michael Widenius創辦的公司所開發的免費開源的資料庫伺服器。與MySQL相比較,MariaDB更強的地方在於它擁有更多的引擎,包括Maria存儲引擎、PBXT存儲引擎、XtraDB存儲引擎、FederatedX存儲引擎,它能夠更快的復制查詢處理、運行的速度更快、更好的功能測試以及支持對Unicode的排序等。
其次是rcona,它為MySQL資料庫伺服器進行了改進,在功能和性能上較MySQL有著很顯著的提升。該版本提升了在高負載情況下的InnoDB的性能,同時,它還為DBA提供一些非常有用的性能診斷工具,並且提供很多參數和命令來控制伺服器行為。
第三是Percona Server,它使用了諸如google-mysql-tools、Proven Scaling和 Open Query對MySQL進行改造。並且,它只包含MySQL的伺服器版,並沒有提供相應對 MySQL的Connector和GUI工具進行改進。
非關系型資料庫NoSQL
從NoSQL的字面上理解,NoSQL就是Not Only SQL,被業界認為是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對於目前鋪天蓋地的關系型資料庫運用,這一概念無疑是一種全新的思維的注入。
盤點:開源社區那些免費的資料庫軟體
當然,NoSQL也是隨著互聯網Web2.0網站的興起才能取得長足的進步。關鍵的需求在於,傳統的關系資料庫在應付Web2.0網站,特......>>
該選擇哪個開源資料庫
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版本:Standard、Enterprise、Classic、Cluster、Embedded與munity。其中有一些是免費下載的,另外一些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael "Monty" Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和......>>
該選擇哪個開源資料庫?哪一個更好
Access是一種桌面資料庫,只適合數據量少的應用,在處理少量數據和單機訪問的資料庫時是很好的,效率也很高。但是它的同時訪問客戶端不能多於4個。Microsoft Access資料庫有一定的極限,如果數據達到100M左右,很容易造成伺服器iis假死,或者消耗掉伺服器的內存導致伺服器崩潰,表現為英文「Service Unavailable」。
MS SQL Server是基於伺服器端的中型的資料庫,可以適合大容量數據的應用,在功能上管理上也要比Microsoft Access要強得多。在處理海量數據的效率,後台開發的靈活性,可擴展性等方面強大。因為現在資料庫都使用標準的SQL語言對資料庫進行管理,所以如果是標准SQL語言,兩者基本上都可以通用的。Microsoft SQL Server還有更多的擴展,可以用存儲過程,資料庫大小無極限限制。
MySql短小精悍,像access一樣的文件型資料庫,但比access強百倍,是真正多用戶多任務的資料庫系統,從Linux上移植過來的,安全性非常好,不過大部分操作是在dos下進行,雖然也有第三方開發的圖形界面但並不好用。MySQL是跨多平台的資料庫管理軟體,可運行於LINUX、NT、UNIX等系統,可支持命令和圖形化管理,對於一般的資料庫足以應付了,佔用系統資源較少,速度較快,而且是開源的。
Oracle各方面都比較成熟,但對硬體要求高,用於數據完整性、安全性要求較高的場合,能在所有主流平台上運行,完全支持所有的工業標准,採用完全開放策略。可以使客戶選擇最適合的解決方案,對開發商全力支持。平行伺服器通過使一組結點共享同一簇中的工作來擴展伺服器的能力,提供高可用性和高伸縮性的簇的解決方案,獲得最高認證級別的iso標准認證,多層次網路計算,支持多種工業標准,可以用odbc,jdbc,oci等網路客戶連接,較復雜,同時提供gui和命令行,在windows和unix下操作相同,如果windows不能滿足需要,用戶可以把資料庫移到unix中。其操作和設置比較復雜,適用於有一定操作經驗的用戶。
db2 能在所有主流平台上運行(包括windows)。最適於海量數據。DB2在企業級的應用最為廣泛, 在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%。
總之,各個主流資料庫各有優勢與側重,對於初學者而言,建議從MS SQL Server 著手學習,眾所周知,微軟的東西么,簡單易懂。
該選擇哪個開源資料庫
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免
費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫
呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行
的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括
Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如
WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用
快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了
ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的
核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版
本:Standard、Enterprise、Classic、Cluster、Embedded與munity。其中有一些是免費下載的,另外一
些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的
MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael
"Monty"
Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的
MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個
不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一......>>
現在的開源圖形資料庫有哪些
首先是MariaDB,它是一個採用Maria存儲引擎的MySQL分支版本,是由原來MySQL的作者 Michael Widenius創辦的公司所開發的免費開源的資料庫伺服器。與MySQL相比較,MariaDB更強的地方在於它擁有更多的引擎,包括Maria存儲引擎、PBXT存儲引擎、XtraDB存儲引擎、FederatedX存儲引擎,它能夠更快的復制查詢處理、運行的速度更快、更好的功能測試以及支持對Unicode的排序等。
其次是rcona,它為MySQL資料庫伺服器進行了改進,在功能和性能上較MySQL有著很顯著的提升。該版本提升了在高負載情況下的InnoDB的性能,同時,它還為DBA提供一些非常有用的性能診斷工具,並且提供很多參數和命令來控制伺服器行為。
第三是Percona Server,它使用了諸如google-mysql-tools、Proven Scaling和 Open Query對MySQL進行改造。並且,它只包含MySQL的伺服器版,並沒有提供相應對 MySQL的Connector和GUI工具進行改進。
什麼是開源資料庫
開源意思是開放源代碼,沒有加密
開源資料庫,說明這個資料庫沒有加密的,代碼就是開放的
資料庫作用都是用於動態語言開發的網站
有哪些開源的 POI 資料庫
這個多了去了 ,apache 絕對是 開源裡面的領頭羊 for example: 分類 項目名 說明開發語言 伺服器 (共20) Apache HTTP Server全球第一HTTP伺服器C/C++ TomcatJava的Web伺服器Java James郵件伺服器Java SpamAssassin反垃圾郵件C/C++ PerlApache的...
介紹幾個比較好的面向對象資料庫,最好是開源的。
db4o
Java連接多個資料庫有什麼開源實現嗎
1. 如果是 MySQL 中的多個數據據實例的話,操作資料庫時,使用 schema.table 就可以了
2. 如果是 MySQL 資料庫和其他資料庫同時使用的話,需要在 Spring 中配置多個 datasource,(ITJOB)
該選擇哪個開源資料庫?哪一個更好
1.MySQL 5
作為當今最流行的開放源碼資料庫之一,MySQL資料庫為用戶提供了一個相對簡單的 解決方案,適用於廣泛的應用程序部署,能夠降低用戶的TCO。MySQL是一個多線程、結構化查詢語言(SQL)資料庫伺服器。MySQL的執行性能高, 運行速度快,容易使用。
MySQL包括以下幾個關鍵優勢:
◆ 可靠的性能和服務MySQL向公眾提供所有資料庫伺服器軟體的早期版本,都是利用開放源碼進行為期幾個月的測試之後才發布作為生產之用。
◆ 易於使用和部署MySQL的結構體系易於定製,運行速度快,其獨特的多存儲引擎結構為企業客戶提供了靈活性, 為資料庫管理系統帶來緊致性和穩定性,易於部署。
◆ 自由獲得源碼可以隨時訪問MySQL源代碼,其策略確保了自由性,避免鎖定某家公司或平台。
◆ 跨平台支持MySQL可用於20多種不同平台,包括主要的Linux系統、Mac OS X、Unix和Windows
◆ 可信賴的開發力量MySQL擁有大量的用戶基礎,也擁有高素質、有經驗的開發團隊。
◆ 滿足企業需求MySQL結構體系簡單易用,運行速度極快,能夠處理企業資料庫絕大多數的應用需求。
2008年12月8日,Sun Microsystems公司宣布,正式對外提供MySQL 5.1軟體 —— 這是全球最受歡迎的開源資料庫MySQL的一個極其重要的新版本。MySQL 5.1 GA版現通過以下三種模式提供,以滿足不同用戶的各種特殊需求:
◆MySQL munity Server —— Sun的MySQL 資料庫的免費開源版。這一GPL許可的全功能軟體的目標用戶是個人技術用戶,他不需要商業支持或是享有優惠的機上服務。
◆MySQL Enterprise Server —— 它作為MySQL Enterprise訂購的一部分來提供,它最可靠、最安全,提供的是MySQL資料庫的最新版本,其目標用戶是有法人的IT用戶。該模式的訂戶每月可收 到快速軟體升級服務,每個季度可收到帶有最新補丁程序的「服務包」 —— 還能訪問僅供預覽的監測工具,享受全天候7*24的生產技術支持。
◆MySQL Embedded Server —— 這是MySQL軟體的商業許可模式,讓ISV和OEM將一個高速的、佔用空間很小的資料庫嵌入或打包到他們自己的產品中,而不需要免費的GPL許可。
2. PostgreSQL
PostgreSQL是一個功能齊全、開放源碼的對象一關系性資料庫管理系統 (ORDBMS)。目前,PostgreSQL的穩定版本為8.4版,具有豐富的特性和商業級資料庫管理系統的特質。這是一次向高質量大型資料庫管理系統 方向的飛躍。PostgreSQL是很富特色的開源資料庫管理系統,其特性覆蓋SQL-2/SQL-92和SQL-3/SQL-99。
◆ 豐富的數據類型PostgreSQL包括了豐富的數據類型支持,其中有些數據類型連商業資料庫都不具備,比如IP類型和幾何類型等。
◆ 功能全面PostgreSQL是全功能的開源軟體資料庫,全面支持事務、子查詢、多版本並行控制系統和數據完整性檢查等特性。
◆ 活躍的開發隊伍PostgreSQL擁有一支活躍的開發隊伍,在他們的努力下,PostgreSQL的質量日益提高,增強了人們使用PostgreSQL 的信心。
◆ 豐富的介面PostgreSQL支持幾乎所有類型的資料庫客戶端介面。
◆ 支持多種平台PostgreSQL是目前支持平台最多的資料庫管理系統之一,所支持的平台多達十幾種,包括不同的系統和不同的硬體體系。
◆ 滿足商用需求......>>