0

エラーが見つかりません。スクリプトはコンソールから正常に実行されます。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";

アパッチ ログ:

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

次のようにシェルから呼び出すと、スクリプトが機能します。./printb/imprimirFormPlano.bin 1 2 FILE.PS Cola1

4

1 に答える 1

1

Apache のデフォルト シェルshbash. コマンドを次のように変更してみてください

$cmd = '/bin/bash /printb/imprimirFormPlano.bin 1 2 FILE.PS Cola1';
于 2012-12-13T16:27:29.730 に答える