Bir serseri vm'nin ilk hazırlığını yapacak bir kabuk betiği oluşturmaya çalışıyorum (çalışan Ubuntu 12.04). Her şey (php, apache, oracle instantclient, vb) yükleme, son adım hariç, iyi çalışıyor - php oci8 uzantısını yükleme:
pecl install oci8
Bu komutu manuel olarak çalıştırdığımda (sudo öneki ile) iyi çalışıyor. Ancak script bu komutu çalıştırdığında şöyle başarısız olur:
running: make
/bin/bash /tmp/pear/temp/pear-build-rootG74SsU/oci8-2.0.6/libtool --mode=compile cc -I. -I/tmp/pear/temp/oci8 -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootG74SsU/oci8-2.0.6/include -I/tmp/pear/temp/pear-build-rootG74SsU/oci8-2.0.6/main -I/tmp/pear/temp/oci8 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/oci8/oci8.c -o oci8.lo
libtool: compile: cc -I. -I/tmp/pear/temp/oci8 -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootG74SsU/oci8-2.0.6/include -I/tmp/pear/temp/pear-build-rootG74SsU/oci8-2.0.6/main -I/tmp/pear/temp/oci8 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/oci8/oci8.c -fPIC -DPIC -o .libs/oci8.o
In file included from /tmp/pear/temp/oci8/oci8.c:48:0:
/tmp/pear/temp/oci8/php_oci8_int.h:60:17: fatal error: oci.h: No such file or directory
compilation terminated.
make: *** [oci8.lo] Error 1
ERROR: `make' failed
pecl
Komut kurulum başında bir yolu sorar, ben de sorunu olduğunu düşünüyorum budur:
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
Kurulumun devam etmesi için ORACLE_HOME dizinini sağlamanız veya tuşuna basın Enter. Başka bir yerde önerilen aşağıdakileri denedim, ancak işe yaramadı - çıktıda satır sonu yok ( pecl
komutu el ile çalıştırdığınızda karşılaştırıldığında ) bu nedenle Entertuşa uygun şekilde öykünmüyor :
printf "\n" | pecl install oci8
Bunun düzgün çalışmasını nasıl sağlayabilirim?
printf "autodetect"
yardım etmedim.
echo autodetect | pecl install oci8
misin