/ / Виконання сценарію оболонки з PHP. Помилка синтаксису журналу Apache: ")" несподівана - php, linux, bash, shell, синтаксична помилка

Виконання Shell Script з PHP. Синтаксична помилка журналу Apache: ")" несподівано - php, linux, bash, shell, syntax-error

Я не можу знайти помилку, сценарії працюють нормально з консолі, я думав, що це PHP, але не міг нічого штрафувати.

Може, дозволи на речі? Виконати речі? Я дійсно не знаю багато, сподіваюся, хтось може мені допомогти. Дякую!

Сценарій BASH (ПРОСТО ВІДПРАВИТЬ РОБОТУ ДРУКАТЕЛЮ, але я це про всяк випадок вклав):

#!/bin/bash
PBOX_DIR_TMP="/tmp"
DESDE=$1
HASTA=$2
FORMULARIO=$3
COLA=$4
FECHA=$(date +%F)
SPOOL="/spool.$$.txt"
ARCHIVOSALIDA="${PBOX_DIR_TMP}"/salida.$$.txt
RETURNCODE=0
echo "$DESDE"
echo "$HASTA"
echo "@PBSSFORM ${FORMULARIO}" > "${SPOOL}"
for ((i = ${DESDE};i <= ${HASTA};i++))
do
if [ $i > ${DESDE} ]
then
echo -e "f${FECHA}" >> "${SPOOL}"
echo "${i}" >> "${SPOOL}"
else
echo "${FECHA}" >> "${SPOOL}"
echo "${i}" >> "${SPOOL}"
fi
done
cat "${SPOOL}" | pboxsvc ${PBOX_DIR_BIN}/pboxlib.bin AplicarHostForm > "${ARCHIVOSALIDA}"
lp -d "${COLA}" "${ARCHIVOSALIDA}"
RETURNCODE=$?
rm "${ARCHIVOSALIDA}"
rm "${SPOOL}"
if [ ${RETURNCODE} -eq 0 ]
then
exit 1
else
exit 0
fi

Виклик PHP:

$cmd = "/printb/imprimirFormPlano.bin 1 2 FILE.PS Cola1";

Журнал Apache:

/printb/imprimirFormPlano.bin 1: Syntax error: ")" unexpected
sh: 2: not found.

Скрипти працюють, якщо я викликаю їх із оболонки так: ./printb/imprimirFormPlano.bin 1 2 FILE.PS Cola1

Відповіді:

1 для відповіді № 1

Схоже, оболонка за замовчуванням у вашому apache - sh а не bash. Спробуйте змінити свою команду на

$cmd = "/bin/bash /printb/imprimirFormPlano.bin 1 2 FILE.PS Cola1";