smogg
smogg

Reputation: 1494

phpDocumentor - Could not open input file: phpdoc.php

I'm trying to use phpDocumentor (for the first time, I have no idea what I'm doing). Actually, I want to use it only with SublimeText 2 and this plugin. Can you guide me step by step what should I do to make it working? Here's what I've done now: (I'm using Windows 7) Downloaded phpDocumentor from here and placed it somewhere. I've created system PATH's for phpdoc/bin (so phpdoc.bat can be executed by sublime plugin) and then also added system path to php (from WAMPserver installation)

When I try to use my plugin (or execute phpdoc inside console window) I get this error:

Could not open input file: \phpdoc.php

Upvotes: 18

Views: 13751

Answers (7)

Michael B.
Michael B.

Reputation: 995

I've got the same error message, the already made answers brought me to the right path.

As I don't use wamp/xampp or any of these programms, I thought: why don't run it directly with PHP?

I had already installed PHP7.0.x globally through WebPI.

Only php needs to be prefixed to the command, everything worked:

php .\phpDocumentor\bin\phpdoc -d .\src\ -t .\dst\

Upvotes: 0

Rahul Gupta
Rahul Gupta

Reputation: 10141

On my windows 7 system, I have my set up phpDocumentor (version 2.6.1) in wamp and my paths are like:

D:\Projects\wamp\www\phpDocumentor
D:\Projects\wamp\www\phpDocumentor\bin 

Now what I did is I edited the phpdoc.bat file located at path:

D:\Projects\wamp\www\phpDocumentor\bin\phpdoc.bat

It contained code as shown below:

@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%" "D:\Projects\wamp\www\phpDocumentor\bin\phpdoc" %*

So, I edited the last line "%PHPBIN%" "%PHP_PEAR_BIN_DIR%\phpdoc" %* with new code "%PHPBIN%" "phpdoc" %*. After phpdoc.bat looked like :

@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%" "phpdoc" %*

Thereafter I again ran the below command in cmd:

D:\Projects\wamp\www\phpDocumentor\bin>phpdoc

And the output was like:

D:\Projects\wamp\www\phpDocumentor\bin>phpdoc

Collecting files .. OK
Initializing parser .. OK
Parsing files

  [Exception]
  No parsable files were found, did you specify any using the -f or -d parame
  ter?

project:run [-t|--target[="..."]] [-f|--filename[="..."]] [-d|--directory[="..."
]] [--encoding[="..."]] [-e|--extensions[="..."]] [-i|--ignore[="..."]] [--ignor
e-tags[="..."]] [--hidden] [--ignore-symlinks] [-m|--markers[="..."]] [--title[=
"..."]] [--force] [--validate] [--visibility[="..."]] [--defaultpackagename[="..
."]] [--sourcecode] [-p|--progressbar] [--template[="..."]] [--parseprivate] [--
log[="..."]]

D:\Projects\wamp\www\phpDocumentor\bin>

So, the output showed that it worked successfully !!

Upvotes: 4

Włodzimierz Gajda
Włodzimierz Gajda

Reputation: 1592

Run:

pear

it will set %PHP_PEAR_PHP_BIN% for you.

Upvotes: 16

Farid Movsumov
Farid Movsumov

Reputation: 12725

I have changed phpdoc.bat file to point to exactly location of phpdoc.php

@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%" "C:\wamp\bin\php\php5.3.10\phpdoc.php" %*

Upvotes: 10

Pablissimo
Pablissimo

Reputation: 2905

I just encountered this on Windows 7 having installed phpDocumentor2 via PEAR. I found that running:

phpdoc -d . -t docs

in an elevated command prompt did the trick - I suspect there's still some PATH issue on my machine that makes that the case, but having done all the default install steps for both PEAR and phpDocumentor it has proven the quickest workaround I've found.

Upvotes: 0

Eydun
Eydun

Reputation: 534

You will need to set the environmental path for "PHP_PEAR_BIN_DIR" to the directory where "phpdoc.php" is.

Upvotes: 10

ashnazg
ashnazg

Reputation: 6688

PHP's include_path will need the path to the directory that contains that phpdoc.php file. Otherwise, none of the phpDocumentor code that uses require/include statements with relative paths will be able to find anything.

Upvotes: 0

Related Questions