PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上



瀏覽模式: 普通 | 列表

使用PHP執行linux系統指令

如何使用PHP執行linux系統指令呢?
相信這是很多學員想知道答案!

首先先要給大家介紹PHP執行linux系統指令的幾個基本函數。

system函數

說明:執行外部程式並顯示輸出資料。
語法:string system(string command, int [return_var]);
返回值: 字串

詳細介紹:
本函數就像是 C 語中的函數 system(),用來執行指令,並輸出結果。若是 return_var 參數存在,則執行 command 之後的狀態會填入 return_var 中。同樣值得注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統,則可以使用 EscapeShellCmd()。若 PHP 以模組式的執行,本函數會在每一行輸出後自動更新 Web 伺服器的輸出緩衝暫存區。若需要完整的返回字串,且不想經由不必要的其它中間的輸出介面,可以使用 PassThru()。

案例代碼:
< ?php
$last_line = system('ls', $retval);
echo 'Last line of the output: ' . $last_line;
echo '<hr />Return value: ' . $retval;
?>

exec函數
說明:執行外部程式。
語法:string exec(string command, string [array], int [return_var]);
返回值: 字串

詳細介紹:
本函數執行輸入 command 的外部程式或外部指令。
它的返回字串只是外部程式執行後返回的最後一行;若需要完整的返回字串,可以使用 PassThru() 這個函數。

要是參數 array 存在,command 會將 array 加到參數中執行,若不欲 array 被處理,可以在執行 exec() 之前呼叫 unset()。
若是 return_var 跟 array 二個參數都存在,則執行 command 之後的狀態會填入 return_var 中。

值得注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統,則可以使用 EscapeShellCmd()。

案例代碼:
<?php
echo exec('whoami');
?>  

popen函數
說明:開啟檔案。
語法:int popen(string command, string mode);
返回值: 整數

詳細介紹:
本函數執行指令開檔,而該檔案是用管道模式處理的檔案。
用本函數開啟的檔案只能是單向的 (只能讀或只能寫),而且一定要用 pclose() 關閉。
在檔案操作上可使用 fgets()、fgetss() 與 fputs()。若是開檔發生錯誤,返回 false 值。

案例代碼:
<?
$fp = popen( "/bin/ls", "r" );
?>  
PHP程式設計問題諮詢:
要如何使Html/PHP格式的字串不被解釋,而是照原樣顯示?


---------------------------------------------------------
PHP程式設計問題回覆:
使Html/PHP格式的字串不被解釋,你可以這樣處理:

<?PHP
$str="<h1>PHP</h1>";
Echo "被解釋過的: ".$str."<br>經過處理的:";
Echo  htmlentities(nl2br($str));
?>
---------------------------------------------------------

使用php程式的五個小技巧

使用php程式的五個小技巧
 
php程式的一些小技巧,這些比較基礎,總結一下(
如果你是老鳥那就當成複習吧)。

1. str_replace

str_replace是非常常常常常用的php函數,用於字串置換,經常看到某些php新人為了置換一批字串,寫了好多行str_replace,實在是慘不忍睹。

比如這個例子:

$str = '某人的棲息地 --- www.abc.net';

$str = str_replace('某人', '壞人', $str);

$str = str_replace('的', 'di', $str);

$str = str_replace('棲息地', '豬窩窩', $str);

$str = str_replace('www.abc.net', 'abc.net', $str);

以上,置換了4次字串,實際只要換個寫法,一行就搞定了:

$str = '某人的棲息地 --- www.abc.net';

$str = str_replace(array('某人', '的', '棲息地', 'www.abc.net'), array('壞人', 'di', '豬窩窩', 'abc.net'), $str);

 

2. array

經常看到有人拿陣列這樣寫:

echo $arr[some_key];

上面這行代碼能跑,看上去也沒什麼大問題,但是如果你把php.ini的error notice開啟的話,會收到一大批error。
php解析器首先是拿「some_key」當作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當作了一個字串來看待。
因此新人同學們最好寫完整一點:

echo $arr['some_key'];

這樣就沒有問題了,如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:

echo "這是混在雙引號中的字串{$arr['some_key']}";

 

3. 類型戲法

類型戲法相當好用,比如有一個表單送出過來的變量,標準情況下它應該是整型的,有時候偷懶省去校驗的寫法可以是這樣的:

$intVar = (int)$_POST['post_var'];

再比如陣列,有時候寫鍵值要打引號是不是很不爽啊,我們可以把它轉換成object,比如:

$arr = array('name' => 'volcano', 'sex' => 'male');

$arr = (object)$arr;

echo $arr->name;

echo $arr->sex;

是不是很省事?

 

4. lambda函數

lamda函數和array_*系列函數使用有奇效,拿php手冊上的一個例子來說:

<?php

$av = array("the ", "a ", "that ", "this ");

array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));

print_r($av);

?>

至少省了一個for迴圈

 

5. 嵌套迴圈顯示表格的單元格

嵌套迴圈顯示表格的單元格,這是一個很老的話題哦,往往會要在某個單元格後邊加個條件判斷什麼的,考慮是不是要輸出tr抑或是td標籤。

俺這裡介紹一個辦法,利用array_chunk函數能夠比較工整的輸出html,見下例,這個例子要輸出一個4行6列的表格:

<?php

$arr = range(1, 24); //這個會生成一個陣列array(1,2,3,4....24)

$arr = array_chunk($arr, 6);

// output table

?>

<table> <?php foreach($arr as $row): ?> <tr> <?php foreach($row as $col):?> <td><?php echo $col?></td> <?php endforeach;?> </tr> <?php endforeach;?> </table>

mysql常見錯誤提示及解決方法

mysql常見錯誤提示及解決方法

130 :檔案格式不正確。(還不是很清楚錯誤的狀況)
145  :檔案無法開啟。
1005:建立表失敗。
1006:建立資料庫失敗。
1007:資料庫已存在,建立資料庫失敗。
1008:資料庫不存在,刪除資料庫失敗。
1009:不能刪除資料庫檔案導致刪除資料庫失敗。
1010:不能刪除資料目錄導致刪除資料庫失敗。
1011:刪除資料庫檔案失敗。
1012:不能讀取系統表中的記錄。
1016:檔案無法開啟,使用後台修復或是使用 phpmyadmin 進行修復。
Quote:
開始=>所有程式=>附件=>指令提示符
  輸入 mysql 所在硬碟盤符
    cd mysql 所在目錄
    cd bin
  輸入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI
  ps : D:usr/local/mysql/data/bbs 是你論壇資料庫的路徑
    -f 根據具體情況選取,一般也可以選取 -r
    注意你的 系統C盤或放資料庫的硬碟空間是否足夠,一般小於 1G 很容易出現錯誤。
或用mysqlcheck指令進行修復。具體的方法:利用指令行進入mysql/bin目錄,執行
mysqlcheck -o -r phpwind -uroot -p                                                      
其中phpwind是你資料庫的名稱,root是你的資料庫使用者名,然後會提示你輸入密碼。然後就會修復你的資料庫。
1017:伺服器非法關機,導致該檔案損壞。
1020:記錄已被其他使用者修改。
1021:硬碟剩餘空間不足,請加大硬碟可用空間。
1022:關鍵字重複,變更記錄失敗。
1023:關閉時發生錯誤。
1024:讀檔案錯誤。
1025:變更名字時發生錯誤。
1026:寫檔案錯誤。
1030:可能是伺服器不穩定。(具體原因不是很清楚)
1032:記錄不存在。
1036:資料表是唯讀的,不能對它進行修改。
1037:系統記憶體不足,請重啟資料庫或重啟伺服器。
1038:用於排序的記憶體不足,請增大排序緩沖區。
1040:已到達資料庫的最大連線數,請加大資料庫可用連線數。
Quote:
在my.ini 修改max_connections=100為max_connections=1000或更大,重啟mysql
1041:系統記憶體不足。
1042:無效的主電腦名。
1043:無效連線。
1044:資料庫使用者權限不足,請聯繫空間商解決。
1045:資料庫伺服器/資料庫使用者名/資料庫名/資料庫密碼錯誤,請聯繫空間商檢查帳戶。
Quote:
方法:確保論壇data目錄下的sql_config.php使用者名與密碼都正確.如果使用者忘記了資料庫的密碼,可以按如下模式進行密碼的修改:
如果 MySQL 正在運行,首先停止。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
1046:沒有選取資料庫。
1048:欄位不能為空。
1049:資料庫不存在。
1050:資料表已存在。
1051:資料表不存在。
1054:欄位不存在,自行建立欄位。
1060:欄位重複,導致無法插入這個欄位。
1062:欄位值重複,入庫失敗
Quote:
  1.如果出類似主碼為"65535"的錯誤,可以檢視關聯表的自增欄位,將欄位值改在就可以
  2.確保關聯資料表中主碼重複的欄位是否存在,如果存在刪除這條記錄
  3.備份資料庫,修復關聯表(注:這種情況比較常見,如pw_posts表,對表進行修復的時候不要忘記備份).
1064:MySQL 不支援錯誤提示中的編碼。
1065:無效的 SQL 語句,SQL 語句為空。
1067:MySQL 版本為 5,不支援空的預設值。
1081:不能建立 Socket 連線。
1114:資料表已滿,不能容納任何記錄。
1115:設定的字集在 MySQL 並沒有支援。
1116:開啟的資料表太多。
1129:資料庫出現異常,請重啟資料庫。
1130:連線資料庫失敗,沒有連線資料庫的權限。
1133:資料庫使用者不存在。
1135:可能是記憶體不足夠,請聯繫空間商解決。
1141:現用的使用者無權訪問資料庫。
1142:現用的使用者無權訪問資料表。
1143:現用的使用者無權訪問資料表中的欄位。
1146:資料表缺失,請還原備份資料
1147:未定義使用者對資料表的訪問權限。
1149:SQL 語句語法錯誤。
1158:網路錯誤,出現讀錯誤,請檢查網路連線狀況。
1159:網路錯誤,讀逾時,請檢查網路連線狀況。
1160:網路錯誤,出現寫錯誤,請檢查網路連線狀況。
1161:網路錯誤,寫逾時,請檢查網路連線狀況。
1169:欄位值重複,更新記錄失敗。
1177:開啟資料表失敗。
1180:送出事務失敗。
1181:返回事務失敗。
1193:不支援字集限定(SET NAMES)。
1203:現用的使用者和資料庫建立的連線已到達資料庫的最大連線數,請增大可用的資料庫連線數或重啟資料庫。
1205:加鎖逾時。
1211:現用的使用者沒有建立使用者的權限。
1216:外鍵約束檢查失敗,更新子表記錄失敗。
1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。
1226:現用的使用者使用的資源已超過所容許的資源,請重啟資料庫或重啟伺服器。
1227:權限不足,您無權進行此操作。
1235:MySQL版本過低,不具有本功能。
1250:用戶端不支援伺服器要求的認證協定,請考慮升級用戶端。
1251:Client 不能支援 authentication protocol 的要求
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Quote:
方法1:mysql> SET PASSWORD FOR
-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');
結合我們的實際情況,在 MySQL Command Line Client 下運行:
set password for root@localhost = old_password('123456');
方法2:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
上面紅色的部分請按自己實際情況修改。
1267:不合法的混合字集。
2002:伺服器埠不對,請咨詢空間商正確的埠。
2003:MySQL 服務沒有啟動,請啟動該服務。
2008:MySQL client ran out of memory
錯誤指向了MySQL客戶mysql。這個錯誤的原因很簡單,客戶沒有足夠的記憶體存儲全部結果。
2013:遠端連線資料庫是有時會有這個問題,MySQL 伺服器在執行一條 SQL 語句的時候失去了連線造成的。
10048:
Quote:
建議在my.ini檔案中修改最大連線數,
  把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
  要修改mysql_pconnect(),可以在論壇的data目錄的sql_config.php中
  $pconnect = 0; //是否持久連線
  修改成$pconnect = 1;
  開啟防重整,嚴禁重整太快.
10055:沒有快取空間可利用
Quote:
檢視下你的C盤空間是否已經滿,清除一些沒有用的檔案.
  可以在後台的"論壇核心設定","核心功能設定"裡"程式改善"開啟,"GZIP 壓縮輸出"關閉.
搜尋了一下10055(沒有快取空間可利用)出錯的原因,分析了my.ini的配製檔案,在my.ini中如下:
default-storage-engine=INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=10M
innodb_log_file_size=10M
innodb_thread_concurrency=8
覺得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M
以上是對mysql5的
如果是mysql4可以在my.ini中增加如下:
#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50
把前面的#去了
10061:
Quote:
啟動這台機器上的MySQL服務
  如服務啟動失敗
  一定是你的my.ini檔案出了差錯,
  MySQL服務不能標準啟動
  你刪除了它後,MySQL就會按其預設配置運行,
  那就沒有問題了
以上資料根據網上各方面資料整合而成。
標籤: mysql

問題:
請問為什麼我向另一網頁傳送變數時,只得到前半部分,以空格開頭的則全部丟失?


<?php
$Var="hello php";//修改為$Var="   hello php";試試得到什麼結果
$post= "receive.php?Name=".$Var;
header("location:$post");
?>

receive.php的內容:


<?PHP
Echo "<pre>";
Echo  $_GET["Name"];
Echo "</pre>";
?>


回覆:
正確的方法是:


<?php
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?>

在接收頁面你不需要使用Urldecode(),變數會自動編碼.

php.ini中的php-5.2.0配置指令詳解

php.ini中的php-5.2.0配置指令詳解

本文並非是對英文版 php.ini 的簡單翻譯,而是參考了眾多資料以後,結合自己的理解,

在原有 php.ini 基礎上增加了一些實用模組的配置說明,同時對檔案內容的安排進行了調整。

由於作者不喜歡 no-free 的玩意兒,所以刪除了除 MySQL 和 PostgreSQL 以外的其他資料庫模組配置選項。

關於php.ini ;;

這個檔案必須命名為''php.ini''並放置在httpd.conf中的PHPIniDir指令特殊的目錄中。

語法

該檔案的語法非常簡單。空白字元和以分號開始的行被簡單地忽略。

章節標題(例如: [php])也被簡單地忽略,即使將來它們可能有某種意義。

設定指令的格式如下:

directive = value

指令名(directive)是大小寫敏感的!所以"foo=bar"不同於"FOO=bar"。

值(value)可以是:

1. 用引號界定的字串(如:"foo")

2. 一個數字(整數或浮點數,如:0, 1, 34, -1, 33.55)

3. 一個PHP常量(如:E_ALL, M_PI)

4. 一個INI常量(On, Off, none)

5. 一個表達式(如:E_ALL & ~E_NOTICE)

INI檔案中的表達式僅使用:位運算符、邏輯非、圓括號:

| 位或

& 位與

~ 位非

! 邏輯非

布爾標誌用 On 表示開啟,用 Off 表示關閉。

一個空字串可以用在等號後不寫任何東西表示,或是用 none 關鍵字:

foo =     ; 將foo設為空字串

foo = none  ; 將foo設為空字串

foo = "none" ; 將foo設為字串''none''



如果你在指令值中使用動態延伸(PHP延伸或Zend延伸)中的常量,

那麼你只能在加載這些動態延伸的指令行之後使用這些常量。

httpd.conf ;;

還可以在httpd.conf中覆蓋php.ini的值,以進行更靈活的配置:

php_value name value ;設定非bool型的指令,將value設為none則清除先前的設定

php_flag name on|off ;僅用於設定bool型的指令



PHP常量(如E_ALL)僅能在php.ini中使用,在httpd.conf中必須使用相應的遮罩值。

帶"SYS"標誌的指令只能在httpd.conf中的全局配置部分使用,

帶"ini"標誌的指令不能在httpd.conf中使用,它們僅能用於php.ini中。

====================配置指令詳解========================================

以下每個指令的設定值都與 PHP-5.2.0 內建的預設值相同。

也就是說,如果''php.ini''不存在,或是你刪掉了某些行,預設值與之相同。

;;;;;;;;;;;;

Apache ;;

;;;;;;;;;;;;

[Apache]

僅在將PHP作為Apache模組時才有效。

engine = On

是否啟用PHP解析引擎。

可以在httpd.conf中基於目錄或是虛擬主電腦來開啟或是關閉PHP解析引擎。

last_modified = Off

是否在Last-Modified應答頭中放置該PHP腳本的最後修改時間。

xbithack = Off

是否不管檔案結尾是什麼,都作為PHP可執行位組來解析。

child_terminate = Off

PHP腳本在請求結束後是否容許使用apache_child_terminate()函數終止子程式。

該指令僅在UNIX平台上將PHP安裝為Apache1.3的模組時可用。其他情況下皆不存在。

;;;;;;;;;;;;;

PHP核心 ;;

;;;;;;;;;;;;;

[PHP-Core-DateTime]

前四個配置選項目前僅用於date_sunrise()和date_sunset()函數。

date.default_latitude = 31.7667

預設緯度

date.default_longitude = 35.2333

預設經度

date.sunrise_zenith = 90.583333

預設日出天頂

date.sunset_zenith = 90.583333

預設日落天頂

date.timezone =

未設定TZ環境變量時用於所有日期及時間函數的預設時區。

中國大陸應當使用"PRC"

應用時區的優先順序為:

1. 用date_default_timezone_set()函數設定的時區(如果設定了的話)

2. TZ 環境變量(如果非空的話)

3. 該指令的值(如果設定了的話)

4. PHP自己推測(如果操作系統支援)

5. 如果以上都不完成,則使用 UTC

[PHP-Core-Assert]

assert.active = On

是否啟用assert()斷言評估

assert.bail = Off

是否在發生失敗斷言時中止腳本的執行
 
回復 引用 舉報頂端  
落伍 離線
   

層級: 管理員
 
UID: 818
精華: 1
發帖: 232
金錢: 12043 金
威望: 293 點
貢獻值: 1 點
交易幣: 0 元
線上時間: 7(時)
註冊時間: 2008-09-18
最後登入: 2010-05-12  沙發  發表於: 2008-10-15    只看該作者 │  小 中 大


assert.callback =

發生失敗斷言時執行的回呼函數

assert.quiet_eval = Off

是否使用安靜評估(不顯示任何錯誤訊息,相當於error_reporting=0)。

若關閉則在評估斷言表達式的時候使用現用的的error_reporting指令值。

assert.warning = On

是否對每個失敗斷言都發出警示

[PHP-Core-SafeMode]

安全模式是為了解決共享伺服器的安全問題而設立的。

但試圖在PHP層解決這個問題在結構上是不合理的,

正確的做法應當是修改web伺服器層和操作系統層。

因此在PHP6中廢除了安全模式,並打算使用open_basedir指令取代之。

safe_mode = Off

SYS

是否啟用安全模式。

開啟時,PHP將檢查現用的腳本的擁有者是否和被操作的檔案的擁有者相同,

相同則容許操作,不同則拒絕操作。

safe_mode_gid = Off

SYS

在安全模式下,預設在訪問檔案時會做UID比較檢查。

但有些情況下嚴格的UID檢查反而是不適合的,寬鬆的GID檢查已經足夠。

如果你想將其放寬到僅做GID比較,可以開啟這個參數。

safe_mode_allowed_env_vars = "PHP_"

SYS

在安全模式下,使用者僅可以變更的環境變量的首碼清單(逗號分隔)。

容許使用者設定某些環境變量,可能會導致潛在的安全漏洞。

注意: 如果這一參數值為空,PHP將容許使用者變更任意環境變量!

safe_mode_protected_env_vars = "LD_LIBRARY_PATH"

SYS

在安全模式下,使用者不能變更的環境變量清單(逗號分隔)。

這些變量即使在safe_mode_allowed_env_vars指令設定為容許的情況下也會得到保護。

safe_mode_exec_dir = "/usr/local/php/bin"SYS

在安全模式下,只有該目錄下的可執行程式才容許被執行系統程式的函數執行。

這些函數是:system, escapeshellarg, escapeshellcmd, exec, passthru,

proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec

safe_mode_include_dir =

SYS

在安全模式下,該組目錄和其子目錄下的檔案被包括時,將略過UID/GID檢查。

換句話說,如果此處的值為空,任何UID/GID不符合的檔案都不容許被包括。

這裡設定的目錄必須已經存在於include_path指令中或是用完整路徑來包括。

多個目錄之間用冒號(Win下為分號)隔開。

特殊的限制實際上是一個首碼,而非一個目錄名,

也就是說"/dir/incl"將容許訪問"/dir/include"和"/dir/incls"

如果您希望將訪問控制在一個特殊的目錄,那麼請在結尾加上斜線。

sql.safe_mode = Off

SYS

是否使用SQL安全模式。

如果開啟,指定預設值的資料庫連線函數將會使用這些預設值代替支援的參數。

對於每個不同資料庫的連線函數,其預設值請參考相應的手冊頁面。

[PHP-Core-Safe]

allow_url_fopen = On

ini

是否容許開啟遠端檔案

allow_url_include = Off

SYS

是否容許include/require遠端檔案。

disable_classes =

ini

該指令接受一個用逗號分隔的類名清單,以禁用特定的類。

disable_functions =

ini

該指令接受一個用逗號分隔的函數名清單,以禁用特定的函數。

enable_dl = On

SYS

是否容許使用dl()函數。dl()函數僅在將PHP作為apache模組安裝時才有效。

禁用dl()函數主要是出於安全考慮,因為它可以繞過open_basedir指令的限制。

在安全模式下始終禁用dl()函數,而不管此處如何設定。

expose_php = On

ini

是否暴露PHP被安裝在伺服器上的事實(在http頭中加上其簽名)。

它不會有安全上的直接威脅,但它使得用戶端知道伺服器上安裝了PHP。

open_basedir =

SYS

將PHP容許操作的所有檔案(內含檔案自身)都限制在此組目錄清單下。

當一個腳本試圖開啟一個指定目錄樹之外的檔案時,將遭到拒絕。

所有的符號連線都會被解析,所以不可能通過符號連線來避開此限制。

特殊值''.''指定了存放該腳本的目錄將被當做基準目錄。

但這有些危險,因為腳本的工作目錄可以輕易被chdir()改變。

對於共享伺服器,在httpd.conf中靈活設定該指令將變得非常有用。

在Windows中用分號分隔目錄,UNIX系統中用冒號分隔目錄。

作為Apache模組時,父目錄中的open_basedir路徑將自動被繼承。

特殊的限制實際上是一個首碼,而非一個目錄名,

也就是說"/dir/incl"將容許訪問"/dir/include"和"/dir/incls",

如果您希望將訪問控制在一個特殊的目錄,那麼請在結尾加上一個斜線。

預設是容許開啟所有檔案。

[PHP-Core-Error]

error_reporting = E_ALL & ~E_NOTICE  
回復 引用 舉報頂端  
落伍 離線
   

層級: 管理員
 
UID: 818
精華: 1
發帖: 232
金錢: 12043 金
威望: 293 點
貢獻值: 1 點
交易幣: 0 元
線上時間: 7(時)
註冊時間: 2008-09-18
最後登入: 2010-05-12  2樓  發表於: 2008-10-15    只看該作者 │  小 中 大


錯誤報告層級是位欄位的疊加,推薦使用 E_ALL | E_STRICT

1 E_ERROR       致命的運行時錯誤

2 E_WARNING      運行時警示(非致命性錯誤)

4 E_PARSE       編譯時解析錯誤

8 E_NOTICE      運行時提醒(經常是bug,也可能是有意的)

16 E_CORE_ERROR    PHP啟動時起始化過程中的致命錯誤

32 E_CORE_WARNING   PHP啟動時起始化過程中的警示(非致命性錯)

64 E_COMPILE_ERROR   編譯時致命性錯

128 E_COMPILE_WARNING  編譯時警示(非致命性錯)

256 E_USER_ERROR    使用者自訂的致命錯誤

512 E_USER_WARNING   使用者自訂的警示(非致命性錯誤)

1024 E_USER_NOTICE    使用者自訂的提醒(經常是bug,也可能是有意的)

2048 E_STRICT      編碼標準化警示(建議如何修改以向前相容)

4096 E_RECOVERABLE_ERROR 接近致命的運行時錯誤,若未被捕獲則視同E_ERROR

6143 E_ALL        除E_STRICT外的所有錯誤(PHP6中為8191,即包括所有)

track_errors = Off

是否在變量$php_errormsg中儲存最近一個錯誤或警示訊息。

display_errors = On

是否將錯誤訊息作為輸出的一部分顯示。

在最終發佈的web站台上,強烈建議你關掉這個特性,並使用錯誤日誌代替(參看下面)。

在最終發佈的web站台開啟這個特性可能暴露一些安全訊息,

例如你的web服務上的檔案路徑、資料庫規劃或別的訊息。

display_startup_errors = Off

是否顯示PHP啟動時的錯誤。

即使display_errors指令被開啟,關閉此參數也將不顯示PHP啟動時的錯誤。

建議你關掉這個特性,除非你必須要用於除錯中。

report_memleaks = On

是否報告記憶體洩漏。這個參數只在以除錯模式編譯的PHP中起作用,

並且必須在error_reporting指令中包括 E_WARNING

report_zend_debug = On

尚無說明文件

html_errors = On

是否在出錯訊息中使用HTML標示。

注意: 不要在發佈的站台上使用這個特性!

docref_root = ;"http://localhost/phpmanual/"

docref_ext =  ;".html"

如果開啟了html_errors指令,PHP將會在出錯訊息上顯示超連線,

直接連結到一個說明這個錯誤或是導致這個錯誤的函數的頁面。

你可以從http://www.php.net/docs.php下載php手冊,

並將docref_root指令指向你本地的手冊所在的URL目錄。

你還必須設定docref_ext指令來指定檔案的副檔名(必須含有''.'')。

注意: 不要在發佈的站台上使用這個特性。

error_prepend_string = ;"<font color=#f00>"

用於錯誤訊息前輸出的字串

error_append_string =  ;"</font>"

用於錯誤訊息後輸出的字串

xmlrpc_errors = Off

xmlrpc_error_number = 0

尚無文件

[PHP-Core-Logging]

define_syslog_variables = Off

是否定義各種系統日誌變量,如:$LOG_PID, $LOG_CRON 等等。

關掉它以提高效率的好主意。

你可以在運行時呼叫define_syslog_variables()函數來定義這些變量。

error_log =

將錯誤日誌記錄到哪個檔案中。該檔案必須對Web伺服器使用者可寫。

syslog 表示記錄到系統日誌中(NT下的事件日誌, Unix下的syslog(3))

如果此處未設定任何值,則錯誤將被記錄到Web伺服器的錯誤日誌中。

log_errors = Off

是否在記錄檔案裡記錄錯誤,具體在哪裡記錄取決於error_log指令。

強烈建議你在最終發佈的web站台時使用日誌記錄錯誤而不是直接輸出,

這樣可以讓你既知道那裡出了問題,又不會暴露敏感訊息。

log_errors_max_len = 1024

設定錯誤日誌中附加的與錯誤訊息關聯聯的錯誤源的最大長度。

這裡設定的值對顯示的和記錄的錯誤以及$php_errormsg都有效。

設為 0 可以容許無限長度。

ignore_repeated_errors = Off

記錄錯誤日誌時是否忽略重複的錯誤訊息。

錯誤訊息必須出現在同一檔案的同一行才被被視為重複。

ignore_repeated_source = Off

是否在忽略重複的錯誤訊息時忽略重複的錯誤源。

[PHP-Core-Mail]

要使信件函數可用,PHP必須在編譯時能夠訪問sendmail程式。

如果使用其它的信件程式,如qmail或postfix,確保使用了相應的sendmail包裝。

PHP首先會在系統的PATH環境變量中搜尋sendmail,接著按以下順序搜尋:

/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib

強烈建議在PATH中能夠找到sendmail。

另外,編譯PHP的使用者必須能夠訪問sendmail程式。

SMTP = "localhost"

mail()函數中用來傳送信件的SMTP伺服器的主電腦名稱或是IP位址。僅用於win32。

smtp_port = 25

SMTP伺服器的埠號。僅用於win32。

sendmail_from =

傳送信件時使用的"From:"頭中的信件位址。僅用於win32

該選項還同時設定了"Return-Path:"頭。

sendmail_path = "-t -i"

SYS

僅用於unix,也可支援參數(預設的是''sendmail -t -i'')

sendmail程式的路徑,通常為"/usr/sbin/sendmail或/usr/lib/sendmail"。

configure腳本會嘗試找到該程式並設定為預設值,但是如果失敗的話,可以在這裡設定。

不使用sendmail的系統應將此指令設定為sendmail替代程式(如果有的話)。

例如,Qmail使用者通常可以設為"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。

qmail-inject 不需要任何選項就能正確處理信件。

mail.force_extra_parameters =

作為額外的參數傳遞給sendmail庫的強制特殊的參數附加值。

這些參數總是會取代掉mail()的第5個參數,即使在安全模式下也是如此。

[PHP-Core-ResourceLimit]

default_socket_timeout = 60

預設socket逾時(秒)

max_execution_time = 30

每個腳本最大容許執行時間(秒),0 表示沒有限制。

這個參數有助於阻止劣質腳本無休止的佔用伺服器資源。

該指令僅影響腳本本身的運行時間,任何其它花費在腳本運行之外的時間,

如用system()/sleep()函數的使用、資料庫查詢、檔案上傳等,都不內含在內。

在安全模式下,你不能用ini_set()在運行時改變這個設定。  

memory_limit = 16M

一個腳本所能夠申請到的最大記憶體位元組數(可以使用K和M作為單位)。

這有助於防止劣質腳本消耗完伺服器上的所有記憶體。

要能夠使用該指令必須在編譯時使用"--enable-memory-limit"配置選項。

如果要取消記憶體限制,則必須將其設為 -1 。

設定了該指令後,memory_get_usage()函數將變為可用。

max_input_time = -1

每個腳本解析輸入資料(POST, GET, upload)的最大容許時間(秒)。

-1 表示不限制。

post_max_size = 8M

容許的POST資料最大位元組長度。此設定也影響到檔案上傳。

如果POST資料超出限制,那麼$_POST和$_FILES將會為空。

要上傳大檔案,該值必須大於upload_max_filesize指令的值。

如果啟用了記憶體限制,那麼該值應當小於memory_limit指令的值。

realpath_cache_size = 16K

SYS

指定PHP使用的realpath(規範化的絕對路徑名)緩沖區大小。

在PHP開啟大量檔案的系統上應當增大該值以提高效能。

realpath_cache_ttl = 120

SYS

realpath緩沖區中訊息的有效期(秒)。

對檔案很少變動的系統,可以增大該值以提高效能。

[PHP-Core-FileUpLoad]

file_uploads = On

SYS

是否容許HTTP檔案上傳。

參見upload_max_filesize, upload_tmp_dir, post_max_size指令

upload_max_filesize = 2M

容許上傳的檔案的最大尺寸。

upload_tmp_dir =

SYS

檔案上傳時存放檔案的臨時目錄(必須是PHP程式使用者可寫的目錄)。

如果未指定則PHP使用系統預設的臨時目錄。

[PHP-Core-MagicQuotes]

PHP6將取消魔術引號,相當於下列指令全部為 Off

magic_quotes_gpc = On

是否對輸入的GET/POST/Cookie資料使用自動字串轉義( '' "  NULL )。

這裡的設定將自動影響 $_GEST $_POST $_COOKIE 陣列的值。

若將本指令與magic_quotes_sybase指令同時開啟,則僅將單引號('')轉義為(''''),

其它特殊字元將不被轉義,即( "  NULL )將保持原樣!!

建議關閉此特性,並使用自訂的過濾函數。

magic_quotes_runtime = Off

是否對運行時從外部資源產生的資料使用自動字串轉義( '' "  NULL )。

若開啟本指令,則大多數函數從外部資源(資料庫,文字檔案等)返回資料都將被轉義。

例如:用SQL查詢得到的資料,用exec()函數得到的資料,等等---www.bianceng.cn

若將本指令與magic_quotes_sybase指令同時開啟,則僅將單引號('')轉義為(''''),

其它特殊字元將不被轉義,即( "  NULL )將保持原樣!!

建議關閉此特性,並視具體情況使用自訂的過濾函數。

magic_quotes_sybase = Off

是否採用Sybase形式的自動字串轉義(用 '''' 表示 '')

[PHP-Core-HighLight]

highlight.bg = "#FFFFFF"

highlight.comment = "#FF8000"

highlight.default = "#0000BB"

highlight.html = "#000000"

highlight.keyword = "#007700"

highlight.string = "#DD0000"

語法高亮模式的色彩(通常用於顯示 .phps 檔案)。

只要能被<font color=xxx>接受的東西就能標準工作。

[PHP-Core-Langue]

short_open_tag = On

是否容許使用"<? ?>"短標識。否則必須使用"<?php ?>"長標識。

除非你的php程式僅在受控環境下運行,且只供自己使用,否則請不要使用短標示。

如果要和XML結合使用PHP,可以選取關閉此選項以方便直接內嵌"<?xml ... ?>",

不然你必須用PHP來輸出:<? echo ''<?xml version="1.0"''; ?>

本指令也會影響到縮寫形式"<?=",它和"<? echo"等價,要使用它也必須開啟短標示。

asp_tags = Off

是否容許ASP風格的標示"<% %>",這也會影響到縮寫形式"<%="。

PHP6中將刪除此指令

arg_separator.output = "&"

PHP所產生的URL中用來分隔參數的分隔設定。

另外還可以用"&"或","等等。

arg_separator.input = "&"

PHP解析URL中的變量時使用的分隔設定清單。

字串中的每一個字元都會被當作分割符。

另外還可以用",&"等等。

allow_call_time_pass_reference = On

是否強迫在函數呼叫時按引用傳遞參數(每次使用此特性都會收到一條警示)。

php反對這種做法,並在將來的版本裡不再支援,因為它影響到了代碼的整潔。

鼓勵的方法是在函數聲明裡明確指定哪些參數按引用傳遞。

我們鼓勵你關閉這一選項,以保證你的腳本在將來版本的語系裡仍能標準工作。

auto_globals_jit = On

是否僅在使用到$_SERVER和$_ENV變量時才建立(而不是在腳本一啟動時就自動建立)。

如果並未在腳本中使用這兩個陣列,開啟該指令將會獲得效能上的提升。

要想該指令生效,必須關閉register_globals和register_long_arrays指令。

auto_prepend_file =

auto_append_file =

指定在主檔案之前/後自動解析的檔名。為空表示禁用該特性。

該檔案就像呼叫了include()函數被包括進來一樣,因此會使用include_path指令的值。

注意:如果腳本通過exit()終止,那麼自動副檔名將不會發生。---www.bianceng.cn

variables_order = "EGPCS"

PHP註冊 Environment, GET, POST, Cookie, Server 變量的順序。

分別用 E, G, P, C, S 表示,按從左到右註冊,新值覆蓋舊值。

舉例說,設為"GP"將會導致用POST變量覆蓋同名的GET變量,

並完全忽略 Environment, Cookie, Server 變量。

推薦使用"GPC"或"GPCS",並使用getenv()函數訪問環境變量。

register_globals = Off

是否將 E, G, P, C, S 變量註冊為全局變量。

開啟該指令可能會導致嚴重的安全問題,除非你的腳本經由非常仔細的檢查。

推薦使用預定義的超全局變量:$_ENV, $_GET, $_POST, $_COOKIE, $_SERVER

該指令受variables_order指令的影響。

PHP6中已經刪除此指令。

register_argc_argv = On

是否聲明$argv和$argc全局變量(包括用GET方法的訊息)。

建議不要使用這兩個變量,並關掉該指令以提高效能。

register_long_arrays = On

是否啟用舊式的長式陣列(HTTP_*_VARS)。

鼓勵使用短式的預定義超全局陣列,並關閉該特性以獲得更好的效能。

PHP6中已經刪除此指令。

always_populate_raw_post_data = Off

是否總是生成$HTTP_RAW_POST_DATA變量(原始POST資料)。

否則,此變量僅在遇到不能識別的MIME類型的資料時才產生。

不過,訪問原始POST資料的更好方法是 php://input 。

$HTTP_RAW_POST_DATA對於enctype="multipart/form-data"的表單資料不可用。

unserialize_callback_func =

如果解序列化處理器需要案例化一個未定義的類,

這裡特殊的回呼函數將以該未定義類的名字作為參數被unserialize()呼叫,

以免得到不完整的"__PHP_Incomplete_Class"對象。

如果這裡沒有指定函數,或特殊的函數不包括(或實現)那個未定義的類,將會顯示警示訊息。

所以僅在確實需要實現這樣的回呼函數時才設定該指令。

若要禁止這個特性,只需置空即可。

y2k_compliance = On

是否強制開啟2000年適應(可能在非Y2K適應的瀏覽器中導致問題)。

zend.ze1_compatibility_mode = Off

是否使用相容Zend引擎I(PHP 4.x)的模式。

這將影響對象的複製、構造(無屬性的對象會產生FALSE或0)、比較。

相容模式下,物件將按值傳遞,而不是預設的按引用傳遞。

precision = 14

浮點型資料顯示的有效位數。

serialize_precision = 100

將浮點型和雙精度型資料序列化存儲時的精度(有效位數)。

預設值能夠確保浮點型資料被解序列化程式解碼時不會丟失資料。

[PHP-Core-OutputControl]

輸出控制函數很有用,特別是在已經輸出了訊息之後再傳送HTTP頭的情況下。

輸出控制函數不會作用於header()或setcookie()等函數傳送的HTTP頭,

而只會影響類似於echo()函數輸出的訊息和內嵌在PHP代碼之間的訊息。

implicit_flush = Off

是否要求PHP輸出層在每個輸出塊之後自動重整資料。

這等效於在每個 print()、echo()、HTML塊 之後自動呼叫flush()函數。

開啟這個選項對程式執行的效能有嚴重的影響,通常只推薦在除錯時使用。

在CLI SAPI的執行模式下,該指令預設為 On 。

output_buffering = 0

輸出緩沖區大小(位元組)。建議值為4096~8192。

輸出緩衝容許你甚至在輸出正文內容之後再傳送HTTP頭(內含cookies)。

其代價是輸出層減慢一點點速度。

設定輸出緩衝可以減少寫入,有時還能減少網路封包的傳送。

這個參數的實際收益很大程度上取決於你使用的是什麼Web伺服器以及什麼樣的腳本。

output_handler =

將所有腳本的輸出重導至一個輸出處理函數。

比如,重導至mb_output_handler()函數時,字元編碼將被透明地轉換為特殊的編碼。

一旦你在這裡指定了輸出處理程式,輸出緩衝將被自動開啟(output_buffering=4096)。

注意0: 此處僅能使用PHP內建的函數,自訂函數應在腳本中使用ob_start()指定。

注意1: 可移植腳本不能依賴該指令,而應使用ob_start()函數明確指定輸出處理函數。

使用這個指令可能會導致某些你不熟悉的腳本出錯。

注意2: 你不能同時使用"mb_output_handler"和"ob_iconv_handler"兩個輸出處理函數。

你也不能同時使用"ob_gzhandler"輸出處理函數和zlib.output_compression指令。

注意3: 如果使用zlib.output_handler指令開啟zlib輸出壓縮,該指令必須為空。

[PHP-Core-Directory]

doc_root =

SYS

PHP的"根目錄"。僅在非空時有效。

如果safe_mode=On,則此目錄之外的檔案一概被拒絕。

如果編譯PHP時沒有指定FORCE_REDIRECT,並且在非IIS伺服器上以CGI模式運行,

則必須設定此指令(參見手冊中的安全部分)。

替代專案是使用的cgi.force_redirect指令。

include_path = ".:/path/to/php/pear"

指定一組目錄用於require(), include(), fopen_with_path()函數尋找檔案。

格式和系統的PATH環境變量類似(UNIX下用冒號分隔,Windows下用分號分隔):

UNIX: "/path1:/path2"

Windows: "path1;path2"

在包括路徑中使用''.''可以容許相對路徑,它代表現用的目錄。

user_dir =

SYS

告訴php在使用 /~username 開啟腳本時到哪個目錄下去找,僅在非空時有效。

也就是在使用者目錄之下使用PHP檔案的基本目錄名,例如:"public_html"

extension_dir = "/path/to/php"

SYS

存放延伸庫(模組)的目錄,也就是PHP用來尋找動態延伸模組的目錄。

Windows下預設為"C:/php5"

[PHP-Core-HTTP]

default_mimetype = "text/html"

default_charset = ;"utf-8"

PHP預設會自動輸出"Content-Type: text/html" HTTP頭。

如果將default_charset指令設為"utf-8",

那麼將會自動輸出"Content-Type: text/html; charset=utf-8"。

[PHP-Core-Unicode]

detect_unicode = On

尚無文件

[PHP-Core-Misc]

auto_detect_line_endings = Off

是否讓PHP自動偵測行結束符(EOL)。

如果的你腳本必須處理Macintosh檔案,

或是你運行在Macintosh上,同時又要處理unix或win32檔案,

開啟這個指令可以讓PHP自動偵測EOL,以便fgets()和file()函數可以標準工作。

但同時也會導致在Unix系統下使用換行符(CR)作為項目分隔設定的人遭遇不相容行為。

cgi.rfc2616_headers = 0

指定PHP在傳送HTTP響應代碼時使用何種報頭。

0 表示傳送一個"Status: "報頭,Apache和其它web伺服器都支援。

若設為1,則PHP使用RFC2616標準的頭。

除非你知道自己在做什麼,否則保持其預設值 0

cgi.nph = Off

在CGI模式下是否強制對所有請求都傳送"Status: 200"狀態碼。

fastcgi.impersonate = Off

IIS中的FastCGI支援模仿用戶端安全令牌的能力。

這使得IIS能夠定義運行時所基於的請求的安全上下文。

Apache中的mod_fastcgi不支援此特性(03/17/2002)

如果在IIS中運行則設為On,預設為Off。

fastcgi.logging = On

是否記錄通過FastCGI進行的連線。

[PHP-Core-Weirdy]

這些選項僅存在於文件中,卻不存在於phpinfo()函數的輸出中

async_send = Off

是否異步傳送。

from = ;"john@doe.com"

定義匿名ftp的密碼(一個email位址)

近核心模組 ;;

[Pcre]

Perl相容正則表達式模組

pcre.backtrack_limit = 100000

PCRE的最大回溯(backtracking)步數。

pcre.recursion_limit = 100000

PCRE的最大遞歸(recursion)深度。

如果你將該值設的非常高,將可能耗盡程式的棧空間,導致PHP崩潰。

[Session]

除非使用session_register()或$_SESSION註冊了一個變量。

否則不管是否使用了session_start(),都不會自動加入任何session記錄。

內含resource變量或有迴圈引用的對象包括指向自身的引用的對象,不能儲存在會話中。

register_globals指令會影響到會話變量的存儲和還原。

session.save_handler = "files"

存儲和檢索與會話關聯的資料的處理器名字。預設為檔案("files")。

如果想要使用自訂的處理器(如基於資料庫的處理器),可用"user"。

有一個使用PostgreSQL的處理器:http://sourceforge.net/projects/phpform-ext/

session.save_path = "/tmp"

傳遞給存儲處理器的參數。對於files處理器,此值是建立會話資料檔的路徑。

Windows下預設為暫存檔夾路徑。

你可以使用"N;[MODE;]/path"這樣模式定義該路徑(N是一個整數)。

N表示使用N層深度的子目錄,而不是將所有資料檔都儲存在一個目錄下。

[MODE;]可選,必須使用8進位數,預設600(=384),表示每個目錄下最多儲存的會話檔案數量。

這是一個提高大量會話效能的好主意。
『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎?
MySQL『資料庫』與『資料表』,用PHP程式有那麼難呼叫嗎?
不用死背『PHP程式』與『MySQL資料庫』語法也能設計嗎?
這是自動化軟體程式的年代(用PHPMaker設計在彈指之間完成)
這不是:神話!程式軟體模組取代了這一切複雜的工程
死背『PHP程式』與『MySQL資料庫』語法,是為學校考試用的!
因為,有些人的技術已經離這個網站的實用性非常遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------
網站發生:Fatal error: Allowed memory size of 錯誤之處理

網站使用PHP程式去呼叫.dat的資料
在網站輸入搜尋就會有以下訊息產生:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4023 bytes) in /var/www/web/data_04/index.php on line 34


你的伺服器上PHP設定的記憶容量太少了, 在php.ini裡將
memory_limit = 8M
改成
memory_limit = 32M

然后重啟apache就可以啦!

也可以通過在php程式申請大一些的記憶容量實現

ini_set( 'memory_limit', '32M' );

----------------------------------------------------------------

為什麼我得不到變數(PHP程式教學問與答)

問題:我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值?

技術回覆:在PHP4.2以後的版本中register_global預設為off

  若想取得從另一頁面送出的變數:

方法一:在PHP.ini中找到register_global,並把它設定為on.

方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).

方法三:一個一個讀取變數$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.

  2:除錯你的程式

在運行時必須知道某個變數為何值。我是這樣做的,建立一檔案debug.php,其內容如下:

<?PHP
Ob_Start();
Session_Start();
Echo "<pre>";

Echo "本頁得到的_GET變數有:";
Print_R($_GET);

Echo "本頁得到的_POST變數有:";
Print_R($_POST);

Echo "本頁得到的_COOKIE變數有:";

Print_R($_COOKIE);

Echo "本頁得到的_SESSION變數有:";
Print_R($_SESSION);
Echo "</pre>";
?>

然後在php.ini中設定:include_path = "c:/php",並將debug.php放在此檔夾,以後就可以在每個網頁裏包括此檔,檢視得到的變數名和值.

  3:如何使用session

凡是與session有關的,之前必須呼叫函數session_start();

為session付值很簡單,如:

<?php
Session_start();
$Name = "這是一個Session例子";
Session_Register("Name");//注意,不要寫成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之後$_SESSION["Name"]為"這是一個Session例子"
?>

在php4.2之後,可以為session直接付值:

<?PHP
Session_Start();
$_SESSION["name"]="value";
?>

取消session可以這樣:

<?php
session_start();
session_unset();
session_destroy();
?>
取消某個session變數在php4.2以上還有BUG.

注意:

1:在呼叫Session_Start()之前不能有任何輸出.例如下面是錯誤的.
==========================================
1行
2行 <?PHP
3行 Session_Start();//之前在第一行已經有輸出
4行 .....
5行 ?>
==========================================


提示1:

凡是出現"........headers already sent..........",就是Session_Start()之前嚮流覽器輸出資訊.

去掉輸出就標準,(COOKIE也會出現這種錯誤,錯誤原因一樣)

提示2:


如果你的Session_Start()放在迴圈語句裏,並且很難確定之前哪裡向流覽器輸出資訊,可以用下面這種方法:

1行 <?PHP Ob_Start(); ?>
........這裏是你的程式......

解決MySQL server has gone away的問題

解決MySQL server has gone away的問題

 
你是否曾遇見過 「MySql serverhas gone away」,一句讓人其實非常琢磨不透的錯誤訊息。

對這個問題請先別懷疑自己的代碼是否有問題,其實可能只不過是一個小小的設定問題。

我所碰到的情況就是,當你有大資料(資料大小大於1M)儲存到longblob欄位時,會出現這個問題。

起初也查了很久,是不是自己的代碼出錯,但使用的是PHP,不會向哪類編譯型語系有資料越界的可能,百思不得其解。

最終看了下mysql.ini,發現max_allowed_packet=1M,是不是這個預設設定值造成了此問題,把此設定值修改成max_allowed_packet=16M,問題真的解決了。

因此碰到此問題請先檢查自己的設定值是否有問題。

補充一句,不同版本的Mysql,此問題的錯誤訊息可能會不同。
本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!