I-php4+ado: (0.03) (woody) Configurando php4 como módulo de Apache y acceso a DB con ADODB y postgresql y con ODBC 0.01 23.8.2002 primera versión 0.02 23.10.2002 php como script 0.03 30.10.2002 setlocale() en php *POR HACER* Asegurar PHP 1) Instalar apache, php4, libphp-adodb, php4-pgsql, php-doc y php4-odbc si necesitas conectividad ODBC Hay otros módulos php4 disponibles para verlos haz "apt-cache search php4" ---Error--- al acceder a http://servidor.local/prueba.php intenta descargar el archivo ------ 2) Hay que hacer que apache cargue el módulo php descomentando/añadiendo en /etc/apache/http.conf la linea: ---8<--- LoadModule php4_module /usr/lib/apache/1.3/libphp4.so --->8--- 3) Para aplicar cambios: "/etc/init.d/apache reload" 4) Probar la ejecución de páginas como: .php .phtml con ---Error--- al acceder a http://servidor.local/prueba.php Warning: Failed opening 'adodb.inc.php' for inclusion (include_path='.:/usr/share/pear') in ... ------ 5) libphp-adodb deja los archivos en /usr/lib/adodb, añadir esta linea a /etc/php4/apache/php.ini ---8<--- include_path = ".:/usr/lib/adodb" --->8--- 6) Para aplicar los cambios: "/etc/init.d/apache reload" 7) Asegurar PHP.... Leer: php.ini-recommended http://php.net/manual/en/security.php PARA UTILIZAR UNA DB MEDIANTE ODBC 1) Instala php4-odbc y unixodbc-bin que trae los programas: ODBCConfig, DataManager y odbctest 2) Hay un bug en php4-odbc de woody (#157927) que no se identifica a php4: ---Error--- Fatal error: Call to undefined function: odbc_connect() in /usr/lib/adodb/adodb-db2.inc.php on line 78 ------ ->Añadir a /etc/php4/apache/php.ini: ---8<--- extension=odbc.so ------ Para aplicar los cambios: "/etc/init.d/apache reload" 3) Hay que definir una fuente de datos ODBC ---Error--- Warning: SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /usr/lib/adodb/adodb-db2.inc.php on line 78 0 Rows ------ 4) Conserguir el driver ODBC necesario, mirar: http://www.unixodbc.org 5) Registrar el driver ODBC (debería tener un archivo "unixodbcregistration") Ejecutar: odbcinst -i -d -f /path/unixodbcregistration # -i = instalar # -d = ODBC driver en /etc/odbcinst.ini # -f archivo_de_plantilla_a_usar 6) Si el driver usa librerias propias hacer: ln -sf /path/lib/libXYZ.so /usr/lib/libXYZ.so ldconfig 7) Ejecutar como root ODBCConfig - En /Drivers\ debe aparecer el driver ODBC instalado - En /System DSN\ pulsar [Add] - Seleccionar el driver ODBC a usar y pulsar [Ok] - Configurar el driver y pulsar el icono "Save and exit" (el primero) 8) Algunos drivers ODBC utilizan el locale para la conversión del juego de caracteres (acentos, eñes, etc...) Recuerda hacer en todos los archivos php: setlocale( LC_ALL, 'es_ES' ); Para ejecutar un script PHP a diario: 1) Instalar php4-cgi 2) Aplica los cambios que hiciste al php.ini (include_path= ) al archivo /etc/php4/cgi/php.ini 3) Los scripts deben empezar con: ---8<--- #!/usr/bin/php4 -q --->8--- 4) Los scripts deben tener permisos de ejecución 5) Para ejecutarlos cada dia: Haz como root un enlace simbólico desde /etc/cron.daily o coloca ahí tu script AYUDA: página php con el tag: file:///usr/share/doc/phpdoc/html/index.html ---Error--- Fatal error: Call to undefined function: pg_connect() in /usr/lib/adodb/adodb-postgres.inc.php on line 193 ------ ->No instalaste php4-pgsql Anexo-1 prueba.php ---8<--- prueba-php Connect("localhost", "manel", "passwd", "basededatos"); $rs = $db->Execute("SELECT * FROM tabla"); if ($rs === false) die("failed"); rs2html($rs, 'border=2 cellspacing=3', array('titulo A','titulo B')); ?> --->8---