PHP + Zend Studio + apache 的基本配置
最近業餘開始學習PHP, 選擇的IDE為Zend Studio 12,php版本是5.6.7,apache版本是24, 作業系統為win10。
需要注意,安裝vc14必須開啟這3個服務,否則一定會安裝失敗:
第一步安裝PHP。
PHP官網下載PHP5.6.7壓縮包,下載完成後解壓,將以下2個路徑設定環境變數(路徑為解壓後實際路徑)
D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64;
D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64/ext;
第二步配置apache。
修改bin目錄下的httpd.conf檔案, 搜尋listen,設定監聽埠如下:
- #Listen 12.34.56.78:80
- Listen 127.0.0.1:8084
在httpd.conf檔案最後新增以下內容:
- # php5 support
- LoadModule php5_module D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64/php5apache2_4.dll
- AddType application/x-httpd-php .php .html .htm
- # configure the path to php.ini
-
PHPIniDir "D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64"
新增後apache伺服器可以支援PHP5。 其中的路徑為PHP解壓後實際路徑。
2.配置php.ini。 開啟php目錄,複製1個php.ini-development ,修改為php.ini。
開啟php.ini, 找到 ;extension_dir = "D:/Server/Php/ext" ,把前面的分號去掉。
(必須指定擴充套件路徑,否則php7啟動不了。一般開啟ext擴充套件目錄之後,就可以成功在命令列啟動php7,如果仍然不成功,說明你的php路徑沒有新增到 環境變數中(或者你的環境變數有舊的php版本使用))
以管理員身份開啟命令提示符cmd,執行以下2步:
-
D:\DEVELOP\PHP\Apache24\bin>httpd.exe -k install
- D:\DEVELOP\PHP\Apache24\bin>httpd.exe -k startup</span>
開啟瀏覽器,訪問127.0.0.1:8084, 出現"it works"介面, apache伺服器配置成功。
第三步安裝、配置zend studio,並執行一個新建工程。
1、安裝完zend studio後,新建一個local php project,名為phptest,並新建一個檔案hello.php。
2、進入Run Configurations ,配置PHP server 如下圖示:
。
配置完成後,點選執行,顯示找不到網頁。
這個時候,重新開啟apache的httpd.conf檔案,搜尋DocumentRoot,將其值修改為zend studio的工作空間,如下:
- #DocumentRoot "D:\DEVELOP\PHP\Apache24/htdocs"
- DocumentRoot "C:\LAN_WORK\php_workspace1"
- <Directory "C:\LAN_WORK\php_workspace1">
說明:
在httpd.conf裡直接修改DocumentRoot是一種簡單粗暴的手段,不值得提倡。正確的做法應該是設定虛擬目錄。作者嘗試設定過,沒有成功,網上的參考又多是Linux下的。由於目的是為了能讓PHP程式跑起來,而不是去研究apache,目的已經達到,於是作罷了。後面有機會再研究吧。(其實並不會
php連結mysql:
連線到一個 MySQL 資料庫
在您能夠訪問並處理資料庫中的資料之前,您必須建立到達資料庫的連線。
在 PHP 中,這個任務通過 mysql_connect() 函式完成。
語法
mysql_connect(servername,username,password);
引數 | 描述 |
---|---|
servername | 可選。規定要連線的伺服器。預設是 "localhost:3306"。 |
username | 可選。規定登入所使用的使用者名稱。預設值是擁有伺服器程序的使用者的名稱。 |
password | 可選。規定登入所用的密碼。預設是 ""。 |
註釋:雖然還存在其他的引數,但上面列出了最重要的引數。請訪問 W3School 提供的 PHP MySQL 參考手冊,獲得更多的細節資訊。
例子
在下面的例子中,我們在一個變數中 ($con) 存放了在指令碼中供稍後使用的連線。如果連線失敗,將執行 "die" 部分:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code ?>
關閉連線
指令碼一結束,就會關閉連線。如需提前關閉連線,請使用 mysql_close() 函式。
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code mysql_close($con); ?>
參考:http://www.w3school.com.cn/php/php_mysql_connect.asp
問題彙總:
1)
解決方法:
httpd.conf file is modified to add index.php and have
it listed first.
<IfModule dir_module>
DirectoryIndex index.php index.html
<IfModule>
2)
最大的可能性就是,您沒有安裝VC11執行庫,因為現在所有的5.5環境都是基於 vc11的編譯指令碼下生成的,所以在windows下你得安裝相關元件msvcr110.dll,否則你雙擊php.exe測試的時候會報錯,如果出現以下提示,那麼恭喜您,問
3)mysql錯誤
3.1)undefined function mysql_connect()解決方法
原因:這是由於未正確配置php.ini檔案造成的,在php的目錄中,找到php.ini檔案。用你喜歡的文字工具開啟此檔案,使用記事本也可以,這個工具電腦自帶。下面以記事本為例說明。檔案開啟後,Ctrl+F,彈出查詢對話方塊,輸入"mysql",點選“查詢下一個”,如下圖,定位到以下行:
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
如果你的ini檔案未做過修改,每行前的開頭會有一個分號,將其刪除。
; On windows:
; extension_dir = "ext"
將extension_dir = "ext"前面的分號去掉。
繼續查詢“extension_dir”,注意搜尋方向改為“向上”,找到如下行:
貼段php連線mysql的程式碼,以備測試
<html lang='en'>
<head>
<title>smeoa</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<?php
echo 'aaaaa啊';
// phpinfo();
$pdo = new PDO("mysql:host=localhost;dbname=php","root","root");
$pdo->query('set names utf8;');
if($pdo -> exec("insert into user(username,password) values('ti分tle','content')")){
echo "插入成功!";
echo $pdo -> lastinsertid();
}
$rs = $pdo -> query("select * from user");
while($row = $rs -> fetch()){
print_r($row);
}
?>
<body>
</body>
</html>