Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

jueves, 22 de mayo de 2014

Instalación Apache y PHP en Windows Server 2012 R2

Instalar Apache y PHP en Windows Server 2012 R2 puede ser muy problemático si no se elige la combinación de versiones adecuada de cada uno de los programas necesarios.

Todos los componentes software necesarios tienen su correspondiente versión en 32 y 64 bits lo cual también nos puede llevar a error al elegir las versiones.

¿32 o 64 bits?
Actualmente podemos ver que las versiones de PHP de 64bits para Windows vienen marcadas con la nota de que es una distribución de PHP "experimental". Como nuestro servidor estará dedicado a aplicaciones en producción vamos a descartar estas versiones e instalar la de 32 bits (aunque nuestro hardware sea de 64 bits).

Tras tomar esta decisión debemos elegir siempre las versiones 32 bits del resto de software pues sino daran errores que impedirán el inicio de Apache.

Si necesitamos extraer toda la potencia a nuestro hardware de 64 bits lo mejor será elegir alguna distribución Linux 64 bits como sistema operativo del servidor pues los paquetes PHP vienen compilados específicamente para ellas.

Una vez decidido que utilizaremos 32 bits vamos a ver componentes software que debemos utilizar.

Componentes Software (Siempre de 32 bits)
Tutorial de Instalación
Tras seleccionar la combinación de componentes software correcta no deberíamos tener problema en que nos funcione la instalación estandar del manual de PHP

martes, 25 de febrero de 2014

Reseteando los contadores de páginas leídas en Drupal

Si en algún momento tenemos la necesidad de poner a cero los contadores de páginas leídas de Drupal podemos hacerlo directamente en la base de datos.

La tabla donde se almacena esta información es:
node_counter
Y dentro de ella tenemos los atributos totalcount y daycount.
Para resetealos podemos ejecutar las siguientes sentencias SQL que resetearan los contadores en toda la tabla:
UPDATE node_counter set totalcount = 0;
UPDATE node_counter set daycount = 0;

lunes, 23 de enero de 2012

Ficheros adjuntos en artículos y páginas de Drupal 7

Para poder subir archivos adjuntos en artículos o páginas de Drupal 7 tenemos que habilitar el campo en el tipo de contenido.

Para ello tenemos este tutorial que nos lo explica en detalle.

Working with files in Drupal 7 | drupal.org


jueves, 13 de octubre de 2011

Redirect 403 to User Login - Drupal Module Reviews and Ratings

El siguiente módulo nos resuelve un pequeño fallo de usabilidad en los mensajes de correo electrónico de foros de drupal. Cuando un foro es privado los mensajes vienen con enlaces que al pinchar nos llevan a páginas no encontradas cuando no has iniciado sesión.

Este módulo realiza una redirección a la página de inicio de sesión y luego, si inicias sesión con éxito, te devuelve al mensaje del foro correspondiente.

No es una gran funcionalidad pero mejora mucho la usabilidad para personas poco habituadas al trabajo en la web.


Redirect 403 to User Login - Drupal Module Reviews and Ratings

sábado, 23 de octubre de 2010

Utilizando Views en páginas internacionalizadas

 

Quan tenim un lloc web internacionalitzat amb Drupal i volem utilitzar les capacitats de personalització que el mòdul Views en ofereix la configuració de les vistes es fa una miqueta mes complexa.

Així si fem una vista que mostra, per exemple, els items de una de les nostres taxonomies ens donarem compte de que la vista llista aquests items en tots els idiomes en que existeixen. D'aquesta manera si estem visualitzant la nostra pàgina en idioma anglès la vista mostrarà els items en angles però també en els altres idiomes en que estiguin traduïdes i això, per suposat, no és vàlid.

Doncs bé, per solucionar aquest problema amb els idiomes hem de configurar un filtre a la vista.

Administració > Construcció del lloc > Llista > Editar > Pàgina

Una vegada en aquest lloc hem de fer clic al botó “+” dins del quadre “Filtres”.

Seleccionem la propietat “Node translation: Language” i fem clic en “Add”.

Finalment hem de configurar el filtre i per això fem clic sobre ell. En el diàleg següent seleccionem “Operator: Is one of” i “Language: Curren user’s language”. Aquesta configuració és la que farà que només es mostre l'idioma que el usuari està utilitzant.

Per últim recordeu que sempre hem de guardar la vista per a que se apliquen els canvis.


Cuando tenemos un lugar web internacionalizado con Drupal y queremos utilizar las capacidades de personalización que el módulo Views ofrece la configuración de las vistas se hace un poquito mas compleja.

Así si hacemos una vista que muestra, por ejemplo, los items de una de nuestras taxonomías nos daremos cuenta de que la vista lista estos items en todos los idiomas en que existen. De este modo si estamos visualizando nuestra página en idioma inglés la vista mostrará los items en ángulos pero también en los otros idiomas en que estén traducidas y esto, por supuesto, no es válido.

Pues bien, para solucionar este problema con los idiomas tenemos que configurar un filtro a la vista.

Administración > Construcción del lugar > Lista > Editar > Página

Una vez en este lugar tenemos que hacer clic al botón “+” dentro del cuadro “Filtres”.

Seleccionamos la propiedad “Node translation: Language” y hacemos clic en “Add”.

Finalmente tenemos que configurar el filtro y por eso hacemos clic sobre él. En el diálogo siguiente seleccionamos “Operator: Is one of” y “Language: Current user’s language”. Esta configuración es la que hará que sólo se muestre el idioma que el usuario está utilizando.

Por último recordad que siempre tenemos que guardar la vista para que se apliquen los cambios.

domingo, 17 de octubre de 2010

Administration menu | drupal.org

Per a facilitar la administració de una instal·lació de Drupal podem instal·lar el mòdul "Administration Menu".



Aquest mòdul ens proporciona un nou menú a la capçalera de la pàgina. Aquest menú té totes les opcions d'administració de Drupal però molt mès accessible i usable.
A més a més aquest menú té algunes opcions extra que normalment no podem trobar al menú d'administració normal. Son aquestes:
administrative_menu
  • Flush all caches: Ens serveixen per a esborrar totes les caches de drupal des de un mateix lloc.
  • Ejecutar cron: Des d'ací podem executar cron molt fàcilment.
  • Run updates: Per a executar la comprovació d’actualitzacions.
  • Deshabilitar módulos de desarrollados: Per a deshabilitar de forma ràpida i fàcil mòduls que poden estar causant problemes.
Com es pot veure aquest mòdul és molt recomanable instal·lar-ho quan estem desenvolupant el nostre lloc web amb Drupal per que ens va a facilitar el treball amb la interfície d'administració de Drupal i és una bona idea que siga el primer mòdul que instal·lem.
Administration menu | drupal.org

Para facilitar la administración de una instalación de Drupal podemos instalar el módulo "Administration Menu". Este módulo nos proporciona un nuevo menú a la cabecera de la página. Este menú tiene todas las opciones de administración de Drupal pero muy mès accesible y usable. Además este menú tiene algunas opciones extra que normalmente no podemos encontrar al menú de administración normal. Son estas:
  • Flush all caches: Nos sirven para borrar todas las caches de drupal desde un mismo lugar.
  • Ejecutar cron: Desde aquí podemos ejecutar cron muy fácilmente.
  • Run updates: Para ejecutar la comprobación de actualizaciones.
  • Deshabilitar módulos de desarrollados: Para deshabilitar de forma rápida y fácil módulos que pueden estar causante problemas.
Cómo se puede ver este módulo es muy recomendable instalarlo cuando estamos desarrollando nuestro lugar web con Drupal por que nos va a facilitar el trabajo con la interfaz de administración de Drupal y es una buena idea que sea el primer módulo que instalamos.
Administration menu | drupal.org

miércoles, 21 de octubre de 2009

Problema con el envío de correo vía smtp module en Drupal

Uno de los problemas que podemos encontrarnos para que funcione el envío de correo en Drupal mediante servidor externo SMTP es que hayamos deshabilitado la función “fsockopen” dentro de la directiva “disabled_functions” del nuestro php.ini securizado para producción.

Si es así puede ser el motivo por el que no se envían los correos cuando estamos ejecutando PHP sobre IIS.

lunes, 7 de septiembre de 2009

Error con php_mysql.dll al arrancar el servicio de apache bajo windows

Tras realizar una instalación limpia de un servidor wamp (windows+apache+php+mysql) el servicio httpd me mostraba el siguiente error tras cada reinicio de windows:

Aplicación con errores: httpd.exe, versión: 2.2.13.0, módulo con error: php_mysql.dll, versión 5.3.0.0, dirección de error 0x00002072.

Esto es debido a que en el PATH tenemos diferentes versiones de php_mysql.dll o de libmySQL.dll. Para solucionar esto lo primero es asegurarnos que no tenemos copias de estos archivos por diferentes directorios que tengamos en el path (por ejemplo en el directorio c:/php y tambien en c:/windows/system32).
Tras ello tenemos que poner el directorio que tiene la dll buena al principio del path, de manera que cargará primero esta. En mi caso bastó con poner c:/php al principio del path y el problema con la dll se solucionó.

Combinando estas dos soluciones el problema debería desaparecer.

domingo, 6 de septiembre de 2009

Configuración del timeout en IIS 7 con FastCgi y PHP

En ocasiones nos encontramos que algunas páginas php necesitan más tiempo para ejecutarse, como por ejemplo la página del cron de drupal.

Si estas páginas necesitas excesivo tiempo de ejecución pueden dar error debido a que estos tiempos vienen limitados por los servidores web.

Para modificar estos tiempos en un entorno IIS7 con FastCgi y PHP debemos configurar lo siguiente:

  • PHP
    • En la carpeta con tu instalación de PHP modificamos las siguientes variables del fichero php.ini:
      • max_execution_time
      • max_input_time
      • memory_limit
    • Debemos jugar con lo valores hasta dar con la configuración que permite que nuestra página no de error.
  • IIS 7 + FastCgi
    • Buscamos el fichero applicationHost.config en la carpeta C:\Windows\System32\inetsrv\config
      • Buscamos la siguiente línea:
        • <application fullPath="C:\PHP\php-cgi.exe">
      • Y la modificamos añadiendo la variable activityTimeout:
        • <application fullPath="C:\PHP\php-cgi.exe" activityTimeout="200" >
    • Igual que antes hay que ir aumentando el valor de la variable hasta que funcione nuestra página.

lunes, 27 de julio de 2009

Instalando PHP usando FastCGI en IIS 6

Para instalar FastCGI en Internet Information Services 6 el procedimiento es algo más complicado que en IIS 7.

Lo primero es descargar FastCGI desde esta dirección web:

DESCARGAR FastCGI para IIS 6

Instalamos FastCGI ejecutando el fichero instalador que hemos descargado:

imageTras seguir el asistente tenemos FastCGI instalado en nuestro IIS 6.

Para instalar PHP debemos descargarnos la versión comprimida de la distribución oficial de php, que podemos obtener en la siguiente dirección, además se recomienda el uso de la versión “non thread safe” junto con FastCGI:

DESCARGAR PHP

Tras obtener el fichero con los binarios de php descomprimimos su contenido en la carpeta c:/PHP

Ahora vamos a configurar FastCGI de forma que pueda ejecutar scripts PHP, para ello abrimos una ventana de comandos y nos vamos al directorio C:\WINDOWS\system32\inetsrv. Dentro de esta carpeta ejecutamos el siguiente comando para registrar php-cgi.exe como manejador de ficheros *.php.

cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe"

Tras ello ya nos tiene que funcionar PHP, para comprobarlo ponemos en la carpeta C:\Inetpub\wwwroot un fichero php conteniendo el siguiente código:

<?php

// Show all information, defaults to INFO_ALL

phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
//phpinfo(INFO_MODULES);

?>

que nos va a mostrar la página de información de la instalación de php.

image

Como último paso debemos configurar como página de inicio el fichero index.php a través de la consola de ISS 6.

Para ello nos vamos a Inicio > Panel de Control > Herramientas Administrativas > Servicios de Internet Information Server

En el sitio web predeterminado hacemos clic en el botón derecho > propiedades > Pestaña documentos > agregar:

image Y ya podemos ejecutar php dentrode nuestro Internet Information Services 6

Links:

http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/

viernes, 19 de junio de 2009

Instalando PHP en IIS 7

Descargamos el instalador de PHP para Windows desde aquí:

http://www.php.net/downloads.php

Descargaremos la versión comprimida en zip y no el instalador de windows. Una vez tenemos el fichero zip lo descomprimimos en la carpeta de instalación C:\PHP.

Una vez tenemos php en nuestro disco tenemos que configurarlo en IIS 7 como asignación de módulo. Para ello abrimos la consola de administración de IIS y nos vamos “Asignaciones de controlador”.

image

En el menú lateral derecho pinchamos en Agregar asignación de módulo y configuramos como aparece en pantalla (sino aparece FastCgiModule es porque no esta instalado con IIS, para instalarlo ir al proceso de instalación de IIS e instalarlo como módulo):

image

Una vez hecho esto ya tenemos nuestra instalación php funcionando, para comprobarlo podemos crear una página con la función php info.

Por último debemos renombrar el fichero php.ini-recommended que tenemos en la carpeta c:\PHP con el nombre php.ini, de esta forma este fichero va a contener las configuraciones que queramos hacer al motor php. Para aplicar los cambios en el php.ini debemos reiniciar el servidor web desde la herramienta administrativa “Servicios”.

jueves, 20 de noviembre de 2008

Disponible la nueva versión 6.5 de NetBeans




Aquí algunas de las nuevas características, muchas de ellas relacionadas con el desarrollo en PHP:

PHP
  • Code Completion
  • Quick Fixes and Semantic Checks
  • Code Generator
  • FTP Support
  • Debugging with Xdebug
  • Support for popular Web Services
Ajax/JavaScript
  • Debugging support for Firefox and IE
  • HTTP client monitoring
  • Bundled popular JavaScript libraries
Java
  • Groovy/Grails support
  • Compile on Save
  • Eclipse project import and synchronization
  • Built-in Hibernate support
  • JSF CRUD Generator now Ajax-enabled
Database
  • New Connection Dialog
  • SQL Editor Improvements
C/C++
  • Improved code completion and error highlighting
  • Remote Development
  • Support for packaging
Ruby
  • New Ruby/GlassFish v3 "Prelude" Bundle
  • Support for Ruby Tests
  • Updated Rails to 2.1.0
  • Improved support for Rake build tool
GlassFish v3 "Prelude" Bundles
  • Modular, OSGi based architecture
  • Small footprint, fast startup and deployment
  • Support for scripting, including jRuby

NetBeans IDE - Características

lunes, 10 de noviembre de 2008

Configuración de variables de configuración de PHP desde el fichero htaccess

Para poder configurar las variables de configuración de PHP desde el fichero .htaccess ponemos al final de este fichero lo siguiente:

php_value max_execution_time "60"
php_value upload_max_filesize "25M"
php_value post_max_size "25M"

martes, 4 de noviembre de 2008

Configurar php.ini en un hosting

Cuando tenemos nuestra aplicación php desplegada en un hosting es habitual el no poder configurar el php.ini, pues desde el hosting no se nos permite el acceso a este fichero.

Para poder modificar variables de este fichero podemos usar esta función:

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


ini_set('max_execution_time', '60');
ini_set('max_input_time', '60');
ini_set('memory_limit', '200M');





Base de conocimiento | Programación: Configurar php.ini

miércoles, 27 de junio de 2007

Error en PHP_NUKE "The html tags you attempted to use are not allowed"

Cuando realizamos el envio de una noticia a php_nuke y nos aparece el siguiente mensaje:

The html tags you attempted to use are not allowed

es por que estamos incluyendo alguna etiqueta html no permitida.

Para solucionar esto nos vamos al fichero mainfile.php y comentamos las siguientes lineas (que implementan el filtro):

foreach ($_GET as $secvalue) {
if ((eregi("<[^>]*script*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*object*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*iframe*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*applet*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*meta*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*style*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*form*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*img*\"?[^>]*>", $secvalue)) ||
(eregi("<[^>]*onmouseover*\"?[^>]*>", $secvalue)) ||
(eregi("\([^>]*\"?[^)]*\)", $secvalue)) ||
(eregi("\"", $secvalue)) ||
(eregi("forum_admin", $var_name)) ||
(eregi("inside_mod", $var_name))) {
die ("


The html tags you attempted to use are not allowed

[ Go Back ]");
}
}

foreach ($_POST as $secvalue) {
if ((eregi("<[^>]*onmouseover*\"?[^>]*>", $secvalue)) || (eregi("<[^>]*script*\"?[^>]*>", $secvalue)) || (eregi("<[^>]*style*\"?[^>]*>", $secvalue))) {
die ("


The html tags you attempted to use are not allowed

[ Go Back ]");
}
}

Tras comentar estas lineas ya podemos enviar noticias con cualquier tipo de etiqueta html.