/ / PHP से शैल स्क्रिप्ट निष्पादित। अपाचे लॉग सिंटेक्स त्रुटि: ")" अप्रत्याशित - php, linux, bash, shell, वाक्यविन्यास-त्रुटि

PHP से शैल स्क्रिप्ट निष्पादित करना। अपाचे लॉग सिंटेक्स त्रुटि: ")" अप्रत्याशित - php, linux, bash, shell, वाक्यविन्यास-त्रुटि

मुझे त्रुटि नहीं मिल सकती है, स्क्रिप्ट कंसोल से ठीक चलती है, मैंने सोचा कि यह PHP चीज थी लेकिन कुछ भी ठीक नहीं हो सका।

शायद अनुमतियाँ चीजें? चीजें निष्पादित करें? मैं वास्तव में बहुत कुछ नहीं जानता, उम्मीद है कि कोई मेरी मदद कर सकता है। धन्यवाद!

बाश स्क्रिप्ट (बस एक प्रिंटर के लिए एक नौकरी भेजता है, लेकिन मैं इसे सिर्फ मामले में डाल दिया):

#!/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

उत्तर:

उत्तर № 1 के लिए 1

ऐसा लगता है कि आपके अपाचे का डिफ़ॉल्ट खोल है sh बजाय bash। अपना आदेश बदलने का प्रयास करें

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