摘要:想基于給自己的公司做一個企業宣傳站,個人上的開發部署采用的說實話用作為部署環境確實挺方便無需做過多的配置修改利用自帶的工具在完成應用的配置然后生成打包文件直接在后臺上傳僅通過簡單的可視化界面就可以輕松完成應用的部署包括版本等的配置都不需要做
想基于typecho給自己的公司做一個企業宣傳站,個人MACBOOK上的PHP開發部署采用的Zend Server Develop Edition. 說實話用Zend Server作為部署環境確實挺方便, 無需做過多的配置修改, 利用自帶的zdpack工具,在development.xml完成應用的配置,然后生成打包文件.zpk.直接在后臺上傳,僅通過簡單的web可視化界面就可以輕松完成應用的部署,包括vhost,PHP版本,mysql等的配置都不需要做過多的操作.
直接在typecho官方網站上下載了最新的版本1.0(14.10.10).然后通過打包,代碼上傳,在install.php的引導下完成了數據庫,管理員,郵箱,站點URL等的配置. 比較順利,提示安裝完成.不過接下來當我通過提示的鏈接,訪問控制臺時,瀏覽器直接調到了空白頁.
訪問站點主頁:http://localhost:10088/typecho(zend server默認采用10088端口自主安裝app的訪問).
接下來問題來了, 站點主頁中除了首頁鏈接點擊訪問正常, 其余鏈接皆無法正常訪問.通過瀏覽器查看源碼發現. 除首頁外的所有鏈接均變為: http://localhost:10088:10088/typecho/***.
那么問題就來了,在站點設置中自定義的站點url在這里怎么就成了這樣?
只能追代碼了....
1.首先查看默認主題中的 /usr/themes/default/header.php
發現
"> ">
主題中的CSS鏈接正常.關于的鏈接在line 60
is("page", $pages->slug)): ?> class="current" href="permalink(); ?>" title="title(); ?>">title(); ?>
這里的$pages->permalink()返回的結果異常.全局搜索:permalink, 結果太多,無從下手.
想到關于typecho的庫表中有一個option表,會不會是URL設置錯誤.結果siteUrl是正常的, 其余相關的URL設置也均無異樣.
沒辦法, 直接通過傳統的輸出調試吧. 不知怎么的突然想到在 header.php中直接打印$this來尋找下眉目.
結果不出所料, 從$this的打印結果中看到了這樣一個選項 [rootUrl] => "http://localhost:10088:10088/typecho".好了,接下只要定位rootUrl在何處生成的就可以了.
通過rootUrl定位查找, 確定/var/Widget/Options.php中的line 373:
$this->rootUrl = $this->request->getRequestRoot();
然后找到request相關代碼:/var/Typecho/Request.php中的
/** * 獲取url前綴 * * @access public * @return string */ public static function getUrlPrefix() { if (empty(self::$_urlPrefix)) { self::$_urlPrefix = (self::isSecure() ? "https" : "http") . "://" . (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $_SERVER["SERVER_NAME"]) . (in_array($_SERVER["SERVER_PORT"], array(80, 443)) ? "" : ":" . $_SERVER["SERVER_PORT"]); } return self::$_urlPrefix; }
這里關于端口有限制為80或443, 問題的根源找到了. 根據個人的需求,添加上10088的支持, OK了. 突然發現Typecho的框架很大, 源碼理解起來工作量很大. 有時間想進一步學習其中的開發思想. 不錯的一次體驗, 記載以供自己日后回顧此時的處理問題思路, 說不定也可以給其他遇到類似問題的朋友一點幫助
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31926.html
摘要:需求說明使用一款軟件在環境下構建運行自己得博客系統,并安裝證書。參數是必須的,他指定我們去掛載網站得根目錄到容器內部的網絡上。 需求說明 使用typeecho一款php軟件在docker環境下構建運行自己得博客系統,并安裝ssl證書。 博客軟件typecho http://typecho.org/ Step1:擁有一臺包含docker軟件的linux操作系統 [root@oeynet ...
摘要:需求說明使用一款軟件在環境下構建運行自己得博客系統,并安裝證書。參數是必須的,他指定我們去掛載網站得根目錄到容器內部的網絡上。 需求說明 使用typeecho一款php軟件在docker環境下構建運行自己得博客系統,并安裝ssl證書。 博客軟件typecho http://typecho.org/ Step1:擁有一臺包含docker軟件的linux操作系統 [root@oeynet ...
摘要:需求說明使用一款軟件在環境下構建運行自己得博客系統,并安裝證書。參數是必須的,他指定我們去掛載網站得根目錄到容器內部的網絡上。 需求說明 使用typeecho一款php軟件在docker環境下構建運行自己得博客系統,并安裝ssl證書。 博客軟件typecho http://typecho.org/ Step1:擁有一臺包含docker軟件的linux操作系統 [root@oeynet ...
摘要:此文原本發表于我的博客老高的技術博客,歡迎和老高交流之前啰嗦了很多,現在開始寫核心代碼。至此我們已經拿到了文章的永久鏈接,下一步就是給百度服務器發送數據了本節完 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 之前啰嗦了很多,現在開始寫核心代碼。 分析一下,發布文章的時候,我們需要的信息就是當前文章的URL,我們需要想辦法從$contents、 $class中拿到他。...
摘要:完善信息,使其更接地氣插件安裝成功,請進入設置填寫準入密鑰插件卸載成功如何保存配置準入密鑰在哪里保存當然是數據庫了。 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 上一節我們制作了一個裸插件,下面我們開始讓我們的插件開始工作! 完善方法 兩個方法 我們實現activate和deactivate方法 php public static function...
閱讀 3010·2021-10-08 10:18
閱讀 730·2019-08-30 15:54
閱讀 1062·2019-08-29 18:43
閱讀 2434·2019-08-29 15:33
閱讀 1298·2019-08-29 15:29
閱讀 1599·2019-08-29 13:29
閱讀 1022·2019-08-26 13:46
閱讀 1693·2019-08-26 11:55