tesseract-ocr-for-php icon indicating copy to clipboard operation
tesseract-ocr-for-php copied to clipboard

Better error message when `system` and/or `exec` functions are disabled

Open thiagoalessio opened this issue 5 years ago • 1 comments

Expected behavior

Present a clear error message to users if environment has disabled system and/or exec builtin PHP functions, and interrupt the execution before attempting to use such disabled functions.

Actual behavior

Right now nothing stops the execution, and it fails much later with a "Command did not produce any output" exception. Only warnings are shown:

<b>Warning</b>:  system() has been disabled for security reasons in ...
<b>Warning</b>:  exec() has been disabled for security reasons in ...

Steps to reproduce the behavior

  1. Disable system and/or exec in php.ini https://www.php.net/manual/en/ini.core.php#ini.disable-functions
  2. Try to run any TesseractOCR example.

Environment

  • Operating system: any
  • PHP version: any
  • Tesseract version: any
  • tesseract-ocr-for-php version: 2.7.4 or lower

thiagoalessio avatar Aug 13 '19 17:08 thiagoalessio

Maybe you could also add some nice method to check if tesseract is installed at all. When (mis)using $ocr->version() for this, I'm getting 1: if it's not installed - probably some artifact of the exploding that's done at Command::getTesseractVersion()

ThomasLandauer avatar Jan 25 '22 20:01 ThomasLandauer