• Publicidad

Contador de visitas en PHP

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Contador de visitas en PHP

Notapor seafree » 2019-02-11 11:34 @523

¿Qué tal? Buenos días. Al adicionar un contador de visitas en PHP sobre una aplicación web en CentOS 7, el contador no se incrementa. Por supuesto el archivo .txt donde se guarda el incremento no tiene efecto. El panorama es el siguiente:

Versión de PHP en servidor Centos 7:
Arch: x86_64
Version: 7.1.26
Release: 1.el7.remi
Repo: installed
From repo: remi-php71


Permisos de los archivos involucrados:
-rw-rw-r--. 1 apache apache 2 Feb 8 11:56 counter.txt
-rw-rw-r--. 1 apache apache 707 Feb 11 10:17 counter_new.php


Script PHP:
Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
  1. <?php
  2.            $handle = fopen("counter.txt", "r");
  3.            $fileip = file_get_contents("counter.txt");
  4.               if(!$handle){
  5.                echo "Archivo bloqueado";
  6.               }
  7.               else {
  8.                  $counter=(int )fread($handle,20);
  9.                  fclose($handle);
  10.                  $counter++;
  11.                  echo "<b><font face='arial' size='4' color='#C10434'>VISITAS: &nbsp;&nbsp;". $counter  . " " ;
  12.                  $handle= fopen("counter.txt", "w" ) ;
  13.                  fwrite($handle,$counter) ;
  14.                  fclose ($handle) ; // línea 18
  15.               }
  16.         ?>
  17.  
Coloreado en 0.022 segundos, usando GeSHi 1.0.8.4


El /var/log/tiene la siguiente información:

[php7:warn] [pid 29127] PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/html/counter.php on line 18

El problema está en que sí realiza el incremento pero no lo guarda. Los permisos son:


Agradeceré su valioso apoyo para encontrar la solución.
Enormes gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: Contador de visitas en PHP

Notapor explorer » 2019-02-11 12:11 @549

No compruebas si has abierto correctamente el archivo en escritura dos líneas antes.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Contador de visitas en PHP

Notapor seafree » 2019-02-11 12:51 @577

explorer escribiste:No compruebas si has abierto correctamente el archivo en escritura dos líneas antes.


¿Cómo realizo esa comprobación?
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Contador de visitas en PHP

Notapor seafree » 2019-02-11 13:23 @599

MIra ese mismo script lo utilizo en un servidor físico con Centos 7 y funciona, lo quiero utilizar en una Máquina Virtual con Centos 7 y el contador no incrementa. No sé qué es lo que está pasando.

¿Cómo compruebo que el archivo de escritura se abrió correctamente?

Gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Contador de visitas en PHP

Notapor explorer » 2019-02-12 10:34 @482

seafree escribiste:
explorer escribiste:No compruebas si has abierto correctamente el archivo en escritura dos líneas antes.


¿Cómo realizo esa comprobación?

De la misma manera que en la línea 4.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Contador de visitas en PHP

Notapor seafree » 2019-02-12 10:58 @498

explorer escribiste:No compruebas si has abierto correctamente el archivo en escritura dos líneas antes.


drwxr-xr-x. 2 root root 4096 Feb 12 09:49 php
-rwxrwxr-x. 1 apache apache 2 Feb 11 12:31 counter.txt --> ARCHIVO QUE GUARDA EL INCREMENTO (ARCHIVO DE ESCRITURA)


CÓDIGO:
$counter=(int )fread($handle,20);
fclose($handle);
echo " VALOR DEL CONTADOR: " . $counter . "<br>";
$counter++;
echo "<b><font face='arial' size='4' color='#C10434'>VISITAS: &nbsp;&nbsp;". $counter . " <br>" ;
$handle= fopen("counter.txt", "w" ) ;
---------------------------------------------------------------------------------------------------
echo substr(sprintf('%o', fileperms('/var/www/html/php')), -4);
echo substr(sprintf('%o', fileperms('/var/www/html/php/counter.txt')), -4);
---------------------------------------------------------------------------------------------------
fwrite($handle,$counter) ;
fclose ($handle) ;

¿Ves algo, explorer?

Gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Contador de visitas en PHP

Notapor seafree » 2019-02-12 12:40 @569

Gracias por la atención, pero el problema era la seguridad que brinda Centos 7 en SELinux.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518


Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados