1. 如何開啟伺服器 thinkphp pathinfo的訪問方式
1.定義單入口文件(index.php)
單入口index.php定義兩項編譯緩存文件~runtime.php
define('RUNTIME_PATH','./App/Temp/'); //定義編譯目錄
define('APP_DEBUG',TRUE); //啟調試模式
述兩行能index.php作用則index.php變
<?php
define('APP_NAME','App'); //項目名稱
define('APP_PATH','./App/'); //項目路徑
include './ThinkPHP/ThinkPHP.php'; //引入ThinkPHP核運行文件
?>
2.編譯緩存文件(~runtime.php)
3.復制~runtime.php全部內容index.php運行效前
~runtime.php緩存編譯內容相於index.php引導所操作全部集~runtime.php文件
緩存編譯文件index.php運行再引導直接檢測否存~runtime.php編譯緩存文件則直接運行~runtime.php
2. thinkphp怎麼把客戶端ip換成伺服器ip
1、首先檢查一下伺服器上與本地表結構是否一致;
2、清空伺服器緩存試試;
3、在save方法後加上調試語句:
$User->getLastSql();
看列印出的SQL語句是什麼。
3. thinkphp發送郵件 怎麼獲取smtp伺服器
Thinkphp3.2 PHPMailer 發送郵件結合QQ企業郵箱發送郵件下載附件PHPMailer解壓到ThinkPHP\Library\Vendor在Common文件夾新建function.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* 郵件發送函數
*/
function sendMail($to, $title, $content) {
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer(); //實例化
$mail->IsSMTP(); // 啟用SMTP
$mail->Host=C('MAIL_HOST'); //smtp伺服器的名稱(這里以QQ郵箱為例)
$mail->SMTPAuth = C('MAIL_SMTPAUTH'); //啟用smtp認證
$mail->Username = C('MAIL_USERNAME'); //你的郵箱名
$mail->Password = C('MAIL_PASSWORD') ; //郵箱密碼
$mail->From = C('MAIL_FROM'); //發件人地址(也就是你的郵箱地址)
$mail->FromName = C('MAIL_FROMNAME'); //發件人姓名
$mail->AddAddress($to,"尊敬的客戶");
$mail->WordWrap = 50; //設置每行字元長度
$mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式郵件
$mail->CharSet=C('MAIL_CHARSET'); //設置郵件編碼
$mail->Subject =$title; //郵件主題
$mail->Body = $content; //郵件內容
$mail->AltBody = "這是一個純文本的身體在非營利的HTML電子郵件客戶端"; //郵件正文不支持HTML的備用顯示
return($mail->Send());
4. tp框架在伺服器上$_SERVER['PHP_SELF']獲取的地址有沒有index.php
自已改一下THINKPHP.php那個文件就行了,它在CGI 方式下的_PHP_FILE_值定義是沒處理好的,你在你的入口文件第一行寫這樣一句就行了:
define('_PHP_FILE_',rtrim($_SERVER['SCRIPT_NAME'],'/'));
5. 關於thinkphp URL地址問題
你的意思應該是要修改URL模式,這種形式是PATHINFO模式,需要修改配置config.php里的URL_MODEL項值為1。
以下出自tp文檔:
PATHINFO模式是系統的默認URL模式,提供了最好的SEO支持,系統內部已經做了環境的兼容處理,所以能夠支持大多數的主機環境。對應上面的URL模式,PATHINFO模式下面的URL訪問地址是:
http://localhost/index.php/home/user/login/var/value/
PATHINFO地址的前三個參數分別表示模塊/控制器/操作。
不過,PATHINFO模式下面,依然可以採用普通URL模式的參數方式,例如:
http://localhost/index.php/home/user/login?var=value
依然是有效的
PATHINFO模式下面,URL是可定製的,例如,通過下面的配置:
// 更改PATHINFO參數分隔符'URL_PATHINFO_DEPR'=>'-',
6. 伺服器tp地址是什麼
可以使公網ip地址,,也可以是私有ip、地址,,當你的伺服器是用於為企業的內網提供服務的話,那就用私有ip、然後用DNS解析,,若果的用於發布到互聯網上的話,,那就要去申請一個公有IP,,然後你還得去申請個域名與你的伺服器的ip地址綁定,,然後人家就可以通過域名來訪問伺服器了
7. thinkphp 要連接webservice伺服器 怎麼寫代碼 在哪邊寫控制器裡面
鏈接伺服器是指鏈接資料庫么?當然在配置文件里
8. ThinkPHP如何從訪問的IP地址解析其地址(省市)
ThinkPHP是一個快速、兼容而且簡單的輕量級國產PHP開發框架。
新建一個admin.php文件,將index.php內容復制到admin.php內,訪問配置地址後面加上/admin/public/login.html就可以訪問後台了。
9. thinkphp3.2,APACHE伺服器為什麼無法設置URL模式
配置URL模式:
//URL模式'URL_MODEL'=>'3',
[Apache]
1、httpd.conf配置文件中載入了mod_rewrite.so模塊
2、AllowOverrideNone將None改為All
3、把下面的內容保存為.htaccess文件放到應用入口文件的同級目錄下
<IfMolemod_rewrite.c>RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfMole>
10. thinkphp3.2 怎麼修改url的模式
入口文件是應用的單一入口,對應用的所有請求都定向到應用入口文件,系統會從URL參數中解析當前請求的模塊、控制器和操作:
http://serverName/index.php/模塊/控制器/操作
這是3.2版本的標准URL格式。
可以通過設置模塊綁定或者域名部署等方式簡化URL地址中的模塊及控制器名稱。
ThinkPHP框架的URL是區分大小寫(主要是針對模塊、控制器和操作名,不包括應用參數)的,這一點非常關鍵,因為ThinkPHP的命名規范是採用駝峰法(首字母大寫)的規則,而URL中的模塊和控制器都是對應的文件,因此在Linux環境下面必然存在區分大小寫的問題。
框架內置了一個配置參數用於解決URL大小寫的問題,如下:
'URL_CASE_INSENSITIVE'=>true,
當URL_CASE_INSENSITIVE設置為true的時候表示URL地址不區分大小寫,這個也是框架在部署模式下面的默認設置。
當開啟調試模式的情況下,這個參數是false,因此你會發現在調試模式下面URL區分大小寫的情況。
如果我們直接訪問入口文件的話,由於URL中沒有模塊、控制器和操作,因此系統會訪問默認模塊(Home)下面的默認控制器(Index)的默認操作(index),因此下面的訪問是等效的:
http://serverName/index.phphttp://serverName/index.php/Home/Index/index
這種URL模式就是系統默認的PATHINFO模式,不同的URL模式獲取模塊和操作的方法不同,ThinkPHP支持的URL模式有四種:普通模式、PATHINFO、REWRITE和兼容模式,可以設置URL_MODEL參數改變URL模式。
URL模式
URL_MODEL設置
普通模式0
PATHINFO模式1
REWRITE模式2
兼容模式3
如果你整個應用下面的模塊都是採用統一的URL模式,就可以在應用配置文件中設置URL模式,如果不同的模塊需要設置不同的URL模式,則可以在模塊配置文件中設置。
普通模式也就是傳統的GET傳參方式來指定當前訪問的模塊和操作,例如:
http://localhost/?m=home&c=user&a=login&var=value
m參數表示模塊,c參數表示控制器,a參數表示操作(當然這些參數都是可以配置的),後面的表示其他GET參數。
如果默認的變數設置和你的應用變數有沖突的話,你需要重新設置系統配置,例如改成下面的:
'VAR_MODULE'=>'mole',//默認模塊獲取變數'VAR_CONTROLLER'=>'controller',//默認控制器獲取變數'VAR_ACTION'=>'action',//默認操作獲取變數
上面的訪問地址則變成:
http://localhost/?mole=home&controller=user&action=login&var=value
注意,VAR_MODULE只能在應用配置文件中設置,其他參數可以則也可以在模塊配置中設置
PATHINFO模式是系統的默認URL模式,提供了最好的SEO支持,系統內部已經做了環境的兼容處理,所以能夠支持大多數的主機環境。對應上面的URL模式,PATHINFO模式下面的URL訪問地址是:
http://localhost/index.php/home/user/login/var/value/
PATHINFO地址的前三個參數分別表示模塊/控制器/操作。
不過,PATHINFO模式下面,依然可以採用普通URL模式的參數方式,例如:
http://localhost/index.php/home/user/login?var=value
依然是有效的
PATHINFO模式下面,URL是可定製的,例如,通過下面的配置:
//更改PATHINFO參數分隔符'URL_PATHINFO_DEPR'=>'-',
我們還可以支持下面的URL訪問:
http://localhost/index.php/home-user-login-var-value
REWRITE模式是在PATHINFO模式的基礎上添加了重寫規則的支持,可以去掉URL地址裡面的入口文件index.php,但是需要額外配置WEB伺服器的重寫規則。
如果是Apache則需要在入口文件的同級添加.htaccess文件,內容如下:
<IfMolemod_rewrite.c>
RewriteEngineon
RewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfMole>
接下來,就可以用下面的URL地址訪問了:http://localhost/home/user/login/var/value
更多環境的URL重寫支持參考部署部分的URL重寫。
兼容模式
兼容模式是用於不支持PATHINFO的特殊環境,URL地址是:http://localhost/?s=/home/user/login/var/value
可以更改兼容模式變數的名稱定義,例如:
'VAR_PATHINFO'=>'path'
PATHINFO參數分隔符對兼容模式依然有效,例如:
//更改PATHINFO參數分隔符'URL_PATHINFO_DEPR'=>'-',
使用以上配置的話,URL訪問地址可以變成:http://localhost/?path=/home-user-login-var-value
兼容模式配合Web伺服器重寫規則的定義,可以達到和REWRITE模式一樣的URL效果。
例如,我們在Apache下面的話,.htaccess文件改成如下內容:
<IfMolemod_rewrite.c>
RewriteEngineon
RewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php?s=/$1[QSA,PT,L]</IfMole>
就可以和REWRITE模式一樣訪問下面的URL地址訪問了:http://localhost/home/user/login/var/value