想基于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
发现

<link rel="stylesheet" href="<?php $this->options->themeUrl('grid.css'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('style.css'); ?>">

主题中的CSS链接正常.关于的链接在line 60

<a<?php if($this->is('page', $pages->slug)): ?> class="current"<?php endif; ?> href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a>

这里的$pages->permalink()返回的结果异常.全局搜索:permalink, 结果太多,无从下手.

想到关于typecho的库表中有一个option表,会不会是URL设置错误.结果siteUrl是正常的, 其余相关的URL设置也均无异样.

没办法, 直接通过传统的输出调试吧. 不知怎么的突然想到在 header.php中直接打印$this来寻找下眉目.

<?php print_r($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的框架很大, 源码理解起来工作量很大. 有时间想进一步学习其中的开发思想. 不错的一次体验, 记载以供自己日后回顾此时的处理问题思路, 说不定也可以给其他遇到类似问题的朋友一点帮助

ZendServer下安装Typecho需要注意问题相关推荐

  1. docker下安装typecho建立自己得博客系统(1)dockerfile篇

    需求说明 使用typeecho一款php软件在docker环境下构建运行自己得博客系统,并安装ssl证书. 博客软件typecho http://typecho.org/ Step1:拥有一台包含do ...

  2. linux安装typecho教程,Typecho上手指南

    前言 本文将介绍如何搭建基于Typecho的个人网站,以及分享一些遇到问题的解决方案. Why Typecho Typecho是一个由国人开发的轻量级CMS,和WordPress一样,可以快速建立个人 ...

  3. Windows 下安装 Xdebug 受难记之(1)

    这篇文章的标题原来叫<用 Xdebug 进行基准测试和代码覆盖率分析>.安装 Xdebug 只是文章开头的准备工作之一.然而.仅仅是 Xdebug 的安装,就花费大量的精力和时间,再次感受 ...

  4. 在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0

    引言 最近因为学习需要,要在VMware虚拟机下安装OpenCV,在网上查了一下OpenCV3.3.0目前已经出来了,但是考虑到稳定性问题,决定先装一个3.2.0版本的.需要注意的是,pip可以安装的 ...

  5. Centos7下安装Docker

    Centos7下安装Docker(详细的新手装逼教程) 参考: https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html 早就听说 ...

  6. centos 下安装mysql,linux(Centos7)下安装mysql8.0.18的教程图解

    1 获取安装资源包 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 提取码: rsif 2 在/usr/local目录下新建目录mysql8 3 将下载的资源包(my ...

  7. kali linux安装wine32,永恒之蓝msf下 ms17_010 (64位kali下安装wine32)

    本次用到的环境: kali(2016.2)32位系统.ip地址:192.168.1.104 目标靶机为:win7sp1x64系统(关闭防火墙),ip地址:192.168.1.105 ========= ...

  8. win10 mbr下装linux,在Win10下安装Ubuntu 18.04双系统(MBR+Legacy)

    刚刚在win10下安装了ubantu18.04系统,亲测有效!中途遇到了很多坑,一一为大家避免 以下就是我安装双系统的详细步骤 BIOS引导方式 目前主要的系统引导方式也有两种:传统的LegacyBI ...

  9. 在macOS 10.13.6下安装Grafana实录

    因为工作原因,需要尽快熟悉和掌握Grafana等工具的使用,所以我就临时在手上这台rMBP上安装了Grafana 6.6.2版本,下面是我的实录,以作备忘. 下载和安装grafana macOS下安装 ...

最新文章

  1. 自学python转行-强烈建议|转行Python最好看一下这篇文章
  2. ErWin简单使用说明
  3. 马克.扎克伯格的执行力
  4. leetcode 8. 字符串转换整数 (atoi)
  5. Python基于socket实现的多任务版TCP服务端
  6. vSphere资源:下载及文档地址
  7. 在Android中afinal框架下实现sqlite数据库版本升级的办法
  8. truncate,delete,drop之间的区别
  9. 【shell】shell-grep -v 排除多个输出结果
  10. 架构设计工作笔记004---架构中常见的概念积累--随时更新
  11. springboot获取项目路径_springboot学习
  12. 【原】聊聊js代码异常监控
  13. 邮件的常规备份与恢复存储组备份
  14. VMware Workstation 14永久激活密钥
  15. 数码单反相机与无反光镜相机。选择产品摄影解决方案
  16. 概率统计13——二项分布与多项分布
  17. 只有1kb的清理软件_1kb病毒专杀工具下载
  18. 7 进度指示器(LinearProgressIndicator、CircularProgressIndicator)
  19. Log4j2的MDC详解
  20. 基于PHP+MySQL音乐相册网站的设计与实现

热门文章

  1. 深度 | 学习如何学习的算法:简述元学习研究方向现状
  2. 现场丨2017中国计算机大会(CNCC2017)之沈向洋演讲:自然语言中的描述、对话和隐喻
  3. Tensorflow—Droupout
  4. 2型文法:基于预测分析表的自顶向下语法分析
  5. Transformer 会接管人工智能?
  6. 谷歌时间晶体登上Nature,诺奖得主重大猜想成为现实
  7. 什么是传感器融合?我们从“盲人摸象”讲起……
  8. 大脑与数学——利用代数拓扑研究模拟大脑 第一部分
  9. 新一代人工智能专利分析
  10. 日本电信企业5G部署计划 限制了华为中兴设备的使用