文档章节

phpDocumentor2的正确安装和使用方法

inuxor
 inuxor
发布于 2016/02/03 12:52
字数 912
阅读 30
收藏 0
点赞 1
评论 0

缘起

本来我对phpdocumentor2(以下简称doc2)是拒绝的,想用doxygen来着。然而不知为何doxygen无法安装,遂转而去用doc2。 doc2生成的文档还是相当漂亮的,然而安装是场噩梦。下面我们追溯一下噩梦情节。

通过pear安装

一切正常的安装流程

github上的readme文件给出了3种安装方式,我们选择最古典的pear方式 首先得安装pear,可以通过go-pear获得。怎么获得兹不赘述,我用的开发套件,里面有这个东西。总之认为pear已经安装好了。 于是执行readme里面的代码

pear channel-discover pear.phpdoc.org

然而会报错,说是没这个东西,path的问题,找不到 于是切换到安装目录再执行,还是没有,于是只好这样

.\pear channel-discover pear.phpdoc.org

OK,频道已注册 看一眼都有哪些版本

.\pear remote-list -c phpdoc

目前只有一个版本,2.8.5。于是安装

.\pear install phpdoc/phpDocumentor 

下载正常,网速较快的话秒下,网速慢的话,可以去泡杯咖啡(并不是!)

奇葩的安装方式,本文重点

实际上下载完了我这里出现了错误:无法解包phpDocumentor-2.8.5.tgz 用7z解包,正常,解压出一个phpDocumentor-2.8.5.tar和一个package.xml。压缩包没有损坏。见了鬼。 于是百度,毫无意外,百度很和谐,边都不沾。 于是google——前提是改了hosts文件。 google给出了一个链接,不意外,是stackoverflow上面的讨论。上面采纳的答案是这样的

pear install --nocompress phpdoc/phpDocumentor

这回可以去泡咖啡了? 并不能.下载的文件是个phpDocumentor-2.8.5.tar包,依旧无法解包. 于是往下看,看到最后,别人这样说:

My solution for phpDocumentor 2.8.5 was 1.Download the tarball archive from https://github.com/phpDocumentor/phpDocumentor2/releases 2.Uncompress the archive phpDocumentor-2.8.5.tgz manulay (e.g. with 7zip) You will get the phpDocumentor-2.8.5.tar, uncompress it too and you will get the folder phpDocumentor-2.8.5 and the file package.xml 3.Edit the archive package.xml and change the text template:init to template_init (line 2036) in fact it is a path (Info source: https://github.com/phpDocumentor/phpDocumentor2/issues/1608) 4.Compress the folder phpDocumentor-2.8.5 and the file package.xml (e.g. phpdoc285.tar) 5.Install the archive phpdoc285.tar pear install --nocompress phpdoc285.tar

觉得靠谱,于是照做.于是成功了 归纳下来是这样

  1. 把刚才那个phpDocumentor-2.8.5.tar解包得到目录phpDocumentor-2.8.5和文件package.xml
  2. 修改里面的package.xml,将2036行的template:init改为template_init
  3. 把目录phpDocumentor-2.8.5和文件package.xml重新打包为phpdoc285.tar
  4. 执行命令
pear install --nocompress phpdoc285.tar

终于可以去泡咖啡了! 并不能:joy:

正确运行

readme分明写着

phpdoc run -d <SOURCE_DIRECTORY> -t <TARGET_DIRECTORY>

自然是不行的,依旧要找到安装目录并且.\

.\phpdoc run -d <SOURCE_DIRECTORY> -t <TARGET_DIRECTORY>

然而抛出如下错误:

Could not open input file: \phpdoc

WTF! google来到毫不陌生的stackoverflow,去粗取精后,得到如下solution 编辑器打开phpdoc.bat

@echo off
if "%PHPBIN%" == "" set PHPBIN=php.exe
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
GOTO RUN
:USE_PEAR_PATH
set PHPBIN=%PHP_PEAR_PHP_BIN%
:RUN
"%PHPBIN%" "%PHP_PEAR_BIN_DIR%\phpdoc" %*

把最后一行简单粗暴的改为

"%PHPBIN%" "phpdoc" %*

问题终获解决,现在可以抽支烟压压惊了..... 并不能!!! 不出意外的话,当你乐滋滋的盯着美观大方的powershell,犹豫着是先抽烟还是先喝咖啡的时候,如你所料,又TM出错了.

Execute transformation using writer "Graph" Unable to find the dot command of the GraphViz package. Is GraphViz correctly installed and present in your path?

不过不要紧,这东西是画图表用的,用得着就装上,用不着就算逑.本文到此为止.

© 著作权归作者所有

共有 人打赏支持
inuxor
粉丝 28
博文 21
码字总数 12918
作品 0
技术主管
如何制作一份接口文档(PHP版本)

mac osx brew 安装的php默认情况是没有安装pear的,需要手工安装,方法如下: 1.转到php bin目录 安装文档 http://pear.php.net/manual/en/installation.getting.php Pear仓库还是有很多有趣...

swingcoder ⋅ 2016/06/12 ⋅ 0

phpdocumentor2怎么生成chm或是pdf呢?

如题,不是phpdocumentor1是phpdocumentor2

wslk857208 ⋅ 2014/05/04 ⋅ 1

markdown4j初步使用

用java将markdown文本解析为html文本。 org.commonjava.googlecode.markdown4jmarkdown4j2.2-cj-1.0org.commonjava.googlecode.markdown4jmarkdown4j2.2-cj-1.0sourcesprovided 本人测试时候......

taojinhuo ⋅ 2014/06/02 ⋅ 0

5个基于Linux命令行的文件下载和网站浏览工具

5个命令行互联网工具 这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手。 1. rTorrent rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端。支持大部分标准的L...

linuxprobe ⋅ 2016/08/02 ⋅ 0

Markdown 格式检查工具--hint

hint 是一个简单的 markdown 静态检查的控制台 工具,可以方便 markdown 开发者轻松集成 travis 自动检测。 一、安装 pip install hint 然后在系统中会得到一个 的命令 cli 工具。 二、使用 ...

小薇 ⋅ 2017/02/09 ⋅ 1

Ubuntu12.04 安装MySQL简单步骤

一、安装mysql 在ubuntu12.04 中只要执行两条命令即可: 二、设置UFT8字符编码 在[mysqd]下面加入 保存,重启mysql,执行下面语句查看字符编码 +--------------------------+----------------...

B_ice ⋅ 2016/08/07 ⋅ 0

百度地图定位 Cordova 插件--cordova-plugin-baidumaplocation

百度地图定位Cordova插件,支持Android,IOS 可以在此地址查看example 基于百度地图Android版定位SDK(v7.1)以及百度地图IOS SDK (v3.2.1) 一,申请Android及IOS版密钥 申请密钥Android定...

aruis ⋅ 2017/02/26 ⋅ 0

cocos2d-x2.1.5/cocos2d-x2.2如何新建项目

下载cocos2d-x2.1.5/2.2,发现没有其文件夹下没有install-templates-msvc.bat文件,无法安装模版,怎么新建项目呢? 然后去官方论坛去找了下,有说明现在是用python一次性创建多平台项目~ 使...

千山万水 ⋅ 2013/11/02 ⋅ 0

varnish安装配置

1,Varnish的安装 1,操作系统:redhat or centos 2,依赖关系: 2,安装varnish(这里使用yum安装)以及后端服务器。 添加varnish的源(epel-release源) yum install epel-release rpm --n...

皖教育厅长 ⋅ 2017/02/28 ⋅ 0

PHP-Java-Bridge使用笔记,2014年9月最新版

/============================================================ @author ken(695093513@qq.com) @date 2014-09-09 * ==============================================================/ /=......

卖小女孩的小火柴 ⋅ 2014/09/19 ⋅ 10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 18分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 22分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 28分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 28分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 29分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 55分钟前 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 今天 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 今天 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部