tesseract-ocr-for-php
tesseract-ocr-for-php copied to clipboard
Better error message when `system` and/or `exec` functions are disabled
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
- Disable
system
and/orexec
inphp.ini
https://www.php.net/manual/en/ini.core.php#ini.disable-functions - 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
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()