Página 2 de 3 PrimeiroPrimeiro 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Olá amigo, mais uma vez multíssimo obrigado pela resposta.

    Eu uso Debian 6 Squeeze e tanto na versão 32 ou 64bit a mesma situação ocorre.

    Mas vamos lá, você saberia me dizer onde abaixo eu devo colocar estas variáveis?
    Código :
    #! /bin/sh
     
    ### BEGIN INIT INFO
    # Provides:          php-fpm
    # Required-Start:    $remote_fs $network
    # Required-Stop:     $remote_fs $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts php-fpm
    # Description:       starts the PHP FastCGI Process Manager daemon
    ### END INIT INFO
     
    prefix=/opt/php5
    exec_prefix=${prefix}
     
    php_fpm_BIN=${exec_prefix}/sbin/php-fpm
    php_fpm_CONF=${prefix}/etc/php-fpm.conf
    php_fpm_PID=/var/run/php-fpm.pid
     
     
    php_opts="--fpm-config $php_fpm_CONF"
     
     
    wait_for_pid () {
        try=0
     
        while test $try -lt 35 ; do
     
            case "$1" in
                'created')
                if [ -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
     
                'removed')
                if [ ! -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
            esac
     
            echo -n .
            try=`expr $try + 1`
            sleep 1
     
        done
     
    }
     
    case "$1" in
        start)
            echo -n "Starting php-fpm "
     
            $php_fpm_BIN $php_opts
     
            if [ "$?" != 0 ] ; then
                echo " failed"
                exit 1
            fi
     
            wait_for_pid created $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        stop)
            echo -n "Gracefully shutting down php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -QUIT `cat $php_fpm_PID`
     
            wait_for_pid removed $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed. Use force-quit"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        force-quit)
            echo -n "Terminating php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -TERM `cat $php_fpm_PID`
     
            wait_for_pid removed $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        restart)
            $0 stop
            $0 start
        ;;
     
        reload)
     
            echo -n "Reload service php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -USR2 `cat $php_fpm_PID`
     
            echo " done"
        ;;
     
        *)
            echo "Usage: $0 {start|stop|force-quit|restart|reload}"
            exit 1
        ;;
     
    esac

    Última edição por darkbr; 09-10-2011 às 06:06.

  2. darkbr,

    tente colocar ar variaveis

    Código :
    LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
    ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/

    Logo abaixo de
    Código :
     
    ### END INIT INFO
    no seu init do php-fpm

    faca um teste e me informe.

    Obrigado,



  3. Caríssimo, muito obrigado pela resposta mais uma vez, porém não funcionou.

    Fiz exatamente do jeito que você escreveu.

    Código :
    #! /bin/sh
     
    ### BEGIN INIT INFO
    # Provides:          php-fpm
    # Required-Start:    $remote_fs $network
    # Required-Stop:     $remote_fs $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts php-fpm
    # Description:       starts the PHP FastCGI Process Manager daemon
    ### END INIT INFO
     
    LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
    ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/
     
    prefix=/opt/php5
    exec_prefix=${prefix}
     
    php_fpm_BIN=${exec_prefix}/sbin/php-fpm
    php_fpm_CONF=${prefix}/etc/php-fpm.conf
    php_fpm_PID=/var/run/php-fpm.pid
     
     
    php_opts="--fpm-config $php_fpm_CONF"
     
     
    wait_for_pid () {
        try=0
     
        while test $try -lt 35 ; do
     
            case "$1" in
                'created')
                if [ -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
     
                'removed')
                if [ ! -f "$2" ] ; then
                    try=''
                    break
                fi
                ;;
            esac
     
            echo -n .
            try=`expr $try + 1`
            sleep 1
     
        done
     
    }
     
    case "$1" in
        start)
            echo -n "Starting php-fpm "
     
            $php_fpm_BIN $php_opts
     
            if [ "$?" != 0 ] ; then
                echo " failed"
                exit 1
            fi
     
            wait_for_pid created $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        stop)
            echo -n "Gracefully shutting down php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -QUIT `cat $php_fpm_PID`
     
            wait_for_pid removed $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed. Use force-quit"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        force-quit)
            echo -n "Terminating php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -TERM `cat $php_fpm_PID`
     
            wait_for_pid removed $php_fpm_PID
     
            if [ -n "$try" ] ; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
        ;;
     
        restart)
            $0 stop
            $0 start
        ;;
     
        reload)
     
            echo -n "Reload service php-fpm "
     
            if [ ! -r $php_fpm_PID ] ; then
                echo "warning, no pid file found - php-fpm is not running ?"
                exit 1
            fi
     
            kill -USR2 `cat $php_fpm_PID`
     
            echo " done"
        ;;
     
        *)
            echo "Usage: $0 {start|stop|force-quit|restart|reload}"
            exit 1
        ;;
     
    esac

    Eu estava esperançaso para chegar hoje no serviço e finalmente este negócio funcionar. Eu não consigo entender qual o conceito que o Nginx utiliza para ler estas variáveis.

    Bem, se alguém tiver mais alguma alternativa, eu estarei aqui.

  4. darkbr,

    Voce poderia colar os erros que vc esta tendo aqui para que eu possa entender se os mesmos tem relacao com as variaveis de ambiente ou outra coisa ?



  5. Claro!

    Este abaixo é o meu código em PHP

    Código PHP:
    <?php

    error_reporting
    (E_ALL);
    ini_set('display_errors''On');

    $db '(DESCRIPTION =
                    (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521)))
                    (CONNECT_DATA = (SERVICE_NAME = banco)))'
    ;
                    
    $username 'userbanco';
                    
    $password 'senhabanco;
                    $dbname = '
    banco_producao'; // O Nome da base aqui  

    $conexao = oci_connect($username, $password, $dbname);

    $s = oci_parse($conexao, '
    select from tbl_usuario');

    oci_execute($s);

    while ($row = oci_fetch_array($s, OCI_NUM)) {
            echo $row[0] . "<br>";
            echo $row[1] . "<br>";
    }
    ?>
    Este abaixo é erro que me é retornado na tela

    Warning: oci_connect(): Error while trying to retrieve text for error ORA-12154 in /srv/www/oci8.php on line 13 Warning: oci_parse() expects parameter 1 to be resource, boolean given in /srv/www/oci8.php on line 15 Warning: oci_execute() expects parameter 1 to be resource, null given in /srv/www/oci8.php on line 17 Warning: oci_fetch_array() expects parameter 1 to be resource, null given in /srv/www/oci8.php on line 19


    Como você pode ver a função oci_connect() não pode ser executada, retornando o erro ORA-12154 que significa que não foi possível encontrar a variável de ambiente ORACLE_HOME no Linux.

    Como eu havia dito no primeiro tópico, no Apache não tenho este problema, eu compilo o PHP usando a biblioteca oci8 em 32 ou 64bit e imediatamente me conecto no banco. Tanto que se eu executar o código acima em um servidor Apache, ele me traz o resultado com os usuários cadastrados na tabela de usuário e o erro mostrado logo acima, não acontece.

    Referências:

    No link abaixo você consegue baixar o livro The Underground PHP and Oracle Manual que trata de conexões Oracle com PHP.
    The Underground PHP and Oracle Manual | Homepage
    Na página 106 há um descritivo sobre este erro falando justamente para setar corretamente a variável de ORACLE_HOME caso o erro aconteça, só que ela já está setada corretamente no Linux, tanto que posso efetuar o comando cd $ORACLE_HOME e cair exatamente na pasta /usr/local/instantclient_11_2/network/admin/.

    O livro acima só trata de conexões PHP com Apache e nada de Nginx.

    Este código abaixo é de meu arquivo nginx.conf, vou deixá-lo por aqui caso preste para alguma coisa.

    Código :
    #user  nobody;
    worker_processes  1;
     
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
     
    #pid        logs/nginx.pid;
     
     
    events {
        worker_connections  1024;
    }
     
     
    http {
        include       mime.types;
        default_type  application/octet-stream;
     
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
     
        #access_log  logs/access.log  main;
     
        sendfile        on;
        #tcp_nopush     on;
     
        #keepalive_timeout  0;
        keepalive_timeout  65;
     
        #gzip  on;
     
        server {
            listen       80;
            server_name  localhost;
     
            #charset koi8-r;
     
            #access_log  logs/host.access.log  main;
     
            #location / {
            #    root   html;
            #    index  index.html index.htm;
            #}
     
        location / {
              fastcgi_pass   localhost:9000;
              fastcgi_index  index.php;
     
              fastcgi_param  SCRIPT_FILENAME  /srv/www$fastcgi_script_name;
              fastcgi_param  QUERY_STRING     $query_string;
              fastcgi_param  REQUEST_METHOD   $request_method;
              fastcgi_param  CONTENT_TYPE     $content_type;
              fastcgi_param  CONTENT_LENGTH   $content_length;
        }
     
            #error_page  404              /404.html;
     
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
     
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ \.php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
     
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
     
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        }
     
     
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
     
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
     
     
        # HTTPS server
        #
        #server {
        #    listen       443;
        #    server_name  localhost;
     
        #    ssl                  on;
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
     
        #    ssl_session_timeout  5m;
     
        #    ssl_protocols  SSLv2 SSLv3 TLSv1;
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers   on;
     
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
     
    }

    Se alguém souber mais alguma alternativa.






Tópicos Similares

  1. Respostas: 5
    Último Post: 31-08-2016, 14:07
  2. Respostas: 0
    Último Post: 01-11-2007, 16:06
  3. Respostas: 7
    Último Post: 05-04-2006, 15:45
  4. Como setar variaveis de ambiente no Red Hat 9.0?
    Por no fórum Servidores de Rede
    Respostas: 5
    Último Post: 21-11-2003, 12:34
  5. Como configuro as teclas de atalho do Linux???
    Por no fórum Linguagens de Programação
    Respostas: 0
    Último Post: 01-10-2003, 08:50

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L