ID: 50663 User updated by: samuel dot roze at gmail dot com Reported By: samuel dot roze at gmail dot com Status: Bogus Bug Type: Program Execution Operating System: Debian 5 PHP Version: 5.3.1 New Comment:
Well, I said that it works on cli... Actually, the "file.po" file is created, BUT the result of $exec is still empty instead of be the expected string! The this string is directly printed on my command line, and isn't returned to PHP. Previous Comments: ------------------------------------------------------------------------ [2010-01-04 23:18:48] ras...@php.net Sorry, but these types of issues are never PHP-related. You just proved it yourself that when you ran PHP in a cli environment, it worked fine. But in the Apache environment it didn't. Therefore it has to do with something in your Apache environment. Like environment variables, LOCALE, or maybe even a requirement for a controlling tty, or something along those lines. Regardless, it has nothing to do with PHP. strace the working one and compare it to the strace of the non- working one and figure out what is going on. ------------------------------------------------------------------------ [2010-01-04 22:39:36] samuel dot roze at gmail dot com Notice: This PHP test work when using the "php file.php" command but no on Apache. With the command, the message "/home/samuel/Développement/workspaces/PHP/GetTextEdit/tests/php/file.po a été créé." is printed on the shell, nothing is sent to PHP. ------------------------------------------------------------------------ [2010-01-04 22:23:19] samuel dot roze at gmail dot com Description: ------------ The function exec or the shell_exec function are not working with the msginit (gettext) program. Reproduce code: --------------- Create an empty "/home/user/file.pot" file. <?php $exec = exec('msginit -i "/home/user/file.pot" -o "file.po"'); var_dump($exec); ?> Expected result: ---------------- string(X) "/home/d-sites/myonlinessh/includes/locales/ps_AK/messages a été créé." and that the file.po file was created. Actual result: -------------- string(0) "" and the file.po doesn't exists. Note: there's any error and the same command, with the www-data user (used by Apache) works in my shell! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50663&edit=1