跳轉至內容

PHP 程式設計/設定和安裝

來自華夏公益教科書,開放世界開放書籍

由於 PHP 是一種伺服器端技術,您自然應該預期在為生產、開發或學習設定伺服器環境方面投入一些時間。坦率地說,與 J2EE 等其他怪物相比,PHP 設定起來相當容易。

然而,由於 Web 伺服器、PHP 和資料庫(最常見的是 MySQL)的不同版本的各種組合,這些過程變得複雜。這就是為什麼在學習過程中,可以在 http://phpfiddle.org/ 或 Tutorialspoint 上執行一些命令,而無需安裝任何東西。

下面我們將介紹在自己的機器上設定一個具有 MySQL 資料庫的工作 PHP 環境所需的步驟。

如果您的桌面執行在 Linux 上,那麼您可能已經為 Apache、PHP 和 MySQL 安裝了。這種非常流行的配置通常被稱為 LAMP,即 Linux Apache MySQL PHP,或 P,後一個 'P' 也可以指 Perl,它是開源 Web 服務領域中的另一個主要參與者。如果某些元件未安裝,您可能需要手動安裝以下軟體包

  • Apache 或 Lighttpd
  • PHP
  • MySQL 或 Postgres
  • 資料庫的 PHP 整合外掛。

Debian 或其衍生版

[編輯 | 編輯原始碼]

在 Debian 或其衍生版,包括 Ubuntu[1] 上,您可以使用相應的命令

apt-get install php5

## Server
#### If you wish to use Apache
apt-get install apache2 libapache2-mod-php5
a2enmod php5
service apache2 restart
## -or-
#### If you wish to use Lighttpd
apt-get install lighttpd php5-cgi
lighttpd-enable-mod fastcgi fastcgi-php
service lighttpd restart

## Database
#### If you wish to use Postgres
apt-get install postgres-server    postgres-client    php5-pg
## -or-
#### If you wish to use Mysql
apt-get install mysql-server       mysql-client       php5-mysql

^ 如果您選擇使用 Ubuntu 以及 Apache 和 MySQL,您可能希望利用 Ubuntu 社群網站來進行這種配置 ubuntu lamp wiki

對於 Gentoo Linux 使用者,gentoo-wiki 提供了此 HowTo:帶有 PHP 和 MySQL 的 Apache2

一般來說,您需要在 Gentoo 下執行以下操作

emerge apache
emerge mysql
emerge mod_php

基於 RPM 的

[編輯 | 編輯原始碼]

確切的過程取決於您的 Linux 發行版。在 Fedora 系統上,命令通常如下所示

yum install httpd
yum install php
yum install mysql
yum install php-mysql

這裡不可能涵蓋所有變體,因此請查閱您 Linux 發行版的手冊以瞭解更多詳細資訊,或者找一位朋友來為您完成。

在您的 *nix 系統上執行 PHP 的一種萬無一失的方法是從原始碼編譯它。這並不像聽起來那麼難,並且在 PHP 手冊 中有很好的說明。

Windows 上的 PHP 也是一個非常流行的選擇。在 Windows 平臺上,您可以選擇使用開源的 Apache Web 伺服器,或者來自 Microsoft 的本地 Internet 資訊服務 (IIS) 伺服器,可以透過在開始選單或控制面板中搜索“開啟或關閉 Windows 功能”(Windows 7、8、10)或透過較舊安裝的 Windows CD 來安裝。安裝其中一個伺服器後,您可以從 PHP 下載頁面 下載並安裝相應的 PHP Windows 二進位制發行版。安裝程式版本需要較少的使用者互動。

為了提高效能,您需要使用 FastCGI。有一個華夏公益教科書可以幫助您 使用 FastCGI 設定 IIS

資料庫

[編輯 | 編輯原始碼]

在 Microsoft Windows 上,您必須始終安裝自己的資料庫。

一些流行的選擇是開源的 Postgres、SQLite 和 MySQL。Postgres 和 SQLite 的許可更加自由,可免費用於商業用途。SQLite 僅是一個嵌入式資料庫,類似於 Microsoft Access,並託管在與 PHP 例項或引用它的應用程式相同的應用程式伺服器上,而 MySQL 和 Postgres 通常用作資料庫伺服器,可以同時被多臺機器連線。

PostgreSQL

[編輯 | 編輯原始碼]

官方 Zend 文件:http://us.php.net/pgsql

Postgres 安裝簡單方便,瀏覽到 https://postgres.tw/ftp/binary/v8.3.0/win32/ 並下載 exe 檔案,然後雙擊。

官方 MySQL 文件:http://us.php.net/mysql

您可能希望安裝 MySQL 資料庫。您可以下載 Windows 版的 MySQL,並按照安裝說明操作。如果您有 PHP 4,則無需安裝 Linux 上 php-mysql 的等效項,因為 Windows 版 PHP 中內建了 MySQL 支援。在 PHP 5 中,您需要在 php.ini 檔案中取消註釋以下行(即,刪除行開頭的“;”)

  ;extension=php_mysql.dll

捆綁包

[編輯 | 編輯原始碼]

如果您發現以上所有操作都太麻煩,那麼您還有另一種選擇。在永遠希望以安全/簡單的方式做事這一永恆願望的驅動下,可以在網上找到 Apache/MySQL/PHP 的幾個方便打包的 AMP 捆綁包。其中之一是 PHPTriad。或者,您可以嘗試 Uniform Server。這是一個小型 WAMP 包。(縮寫詞 WAMP 指的是一個伺服器堆疊,其中 Microsoft Windows 是作業系統,Apache 是 Web 伺服器,MySQL 處理資料庫元件,PHP、Python 或 PERL 代表動態指令碼語言)。[1] Uniform Server 被打包為一個自解壓縮的 zip 存檔,易於使用。試用後,只需刪除目錄,一切都會乾淨利落。 XAMPP for Windows 是另一個易於使用的 WAMP 伺服器。此外,它還提供一個安裝選項,允許您在擁有管理許可權的計算機上安裝它。XAMPP 具有執行 PERL 和 JAVA(在 tomcat 伺服器上)的選項。一些其他行動式 Windows AMP 包選擇彙總在 行動式 Web 伺服器列表 中。

此外,還提供了一個名為 WAMPserver 的包安裝程式。它只需輕鬆地將 Apache、PHP 和 MySQL 安裝到 Windows 上。 [2]

簡單的 Windows 設定說明

[編輯 | 編輯原始碼]

1) PHP 創作環境

  • 任何文字編輯器都可以,但我推薦使用帶有語法高亮的編輯器,尤其適合剛開始接觸程式設計或 PHP 的人。 Notepad++ 是我目前最喜歡的編輯器,因為它易於使用、可自定義,並且可以摺疊標籤。所有關於編輯器的幫助都將參考 Notepad++。
  • 安裝 Notepad++。從以下連結下載二進位制檔案:http://notepad-plus.sourceforge.net/uk/site.htm

2) PHP 執行環境

  • 現在,您已經可以建立和儲存 PHP 檔案了,您需要一個能夠處理這些檔案並生成瀏覽器顯示的輸出的環境。有兩種方法可以實現這一點。
  1. 獲取支援 PHP 的 Web 主機,並在每次修改後上傳您的檔案。
  2. 使用自己的計算機作為支援 PHP 的個人伺服器,並且只將最終版本上傳到 Web 主機。
  • 實現上面第 2 點實際上比您想象的要容易(假設您使用的是 Windows)。
  1. 下載 The uniform server。以下是最新版本的連結:http://sourceforge.net/projects/miniserver/files/
  2. 執行自解壓檔案 UniServerX_Y_Z.exe。將目錄複製到您的“C:”驅動器,這樣完整路徑就是“C:\UniServer”。
  3. 在您解壓檔案的目錄中,點選“Start.exe”檔案啟動伺服器。
  4. 將您希望伺服器讀取和處理的任何檔案和子資料夾放在“www”資料夾中。
  5. 您的 Web 瀏覽器應該開啟到“https:///index.php”。
  • 現在,您擁有了在自己的計算機上有效編輯 PHP 文件並處理它們的資源。
  • 以下是建立測試頁面的方法
  1. 在“C:\UniServer\www\”中,建立一個名為“test.php”的網頁。
  2. 使用 Notepad++ 編輯“test.php”,並複製以下內容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Test Page</title>
<meta name="Description" content="Test Page" />
<meta name="Keywords" content="Test,Page" />
</head>
<body>
<?php
  $string = 'Hello world! <br/>';
  echo $string;
  
  print $string;
  
  printf('%s', $string);  
?>
</body>
</html>
  1. 將網頁儲存為“C:\UniServer\www\test.php”。
  2. 在您的 Web 瀏覽器中開啟“https:///test.php”檢視頁面。您應該看到

Hello world!
Hello world!
Hello world!

  1. (可選:按照以下說明,瞭解如何使 PHP 程式碼與以“.html”結尾的網頁一起工作,除了“.php”以外:http://www.desilva.biz/php/phpinhtml.html

Mac OS X 預設帶有 Apache 伺服器,啟用它與在系統偏好設定的“共享”部分選中“個人 Web 共享”旁邊的複選框一樣簡單。完成後,您可以將檔案放在 /Library/WebServer/Documents 中,以便在您的伺服器上訪問它們。Mac OS X 確實附帶了 PHP,但安裝缺少任何大量的擴充套件,所以如果您需要任何擴充套件,您將不得不自己安裝 PHP。您可以按照 Apple 的開發者連線中的說明進行操作,或者您可以下載自動安裝程式,例如在Entropy上提供的那些安裝程式。完成其中一項操作後,您將在 Mac 上執行帶有 PHP 的伺服器。

要安裝 MySQL,只需下載並執行OS X 安裝包,或使用XAMPP for MacOS X

但是,如果您使用的是 unix 或正在學習 unix,那麼對所有三個軟體進行編譯可能是更好的選擇,或者只編譯您喜歡的那些軟體。這樣做的好處是,您可以精確地選擇您想要的 PHP 和 Apache 擴充套件。您還可以選擇將哪些版本編譯在一起。為此,請確保您已安裝開發者工具。它們與 OS X 一起提供。

如何知道我的設定是否正常工作?

[編輯 | 編輯原始碼]

成功完成上一節後,現在該確保一切順利了。您還有機會編寫您的第一個 PHP 指令碼!開啟您最喜歡的純文字 文字編輯器不是 Microsoft Word 或其他 文字處理器),並鍵入以下神奇的行

 <?php phpinfo(); ?>

將其儲存為 phpinfo.php,放在您的 Web 伺服器的根文件目錄中。如果您使用的是 Web 託管伺服器,請將其上傳到您放置 HTML 檔案的地方。現在,開啟您的 Web 瀏覽器,然後轉到 https:///phpinfo.php,或者如果您使用的是 Web 託管伺服器,則轉到 http://your-web-hosting-server.com/phpinfo.php,並檢視輸出。

現在滾動到該頁面的底部,確保有一個名為“mysql”的表格,並且第一行應顯示:”MySQL support: enabled”。如果您的輸出中沒有此表格,則您的特定 PHP 安裝沒有啟用 MySQL 支援。請注意,此測試不會告訴您 MySQL 伺服器是否正在執行。您應該啟動您的 MySQL 客戶端並進行檢查,然後再繼續操作。

一些專用的 php 或指令碼編輯器甚至具有不同單詞的顏色編碼,這對於查詢錯誤非常有用。 Notepad++ 是一個免費的實現,它功能強大,可從 Sourceforge 獲取,並根據 GPL 許可釋出。


華夏公益教科書