Short Tag o Long Tag en PHP5.5.5

Estoy actualizando mis servidores para la última versión de PHP, la versión 5.5.5 y para mi sorpresa muchas de mis aplicaciones no funcionaban.

Estuve lellendo un rato y no encontraba la razón hasta que vi que por defecto en el archivo de configuración de php para apache los short tags estaban desactivados ( Duh ! ).

En este caso existen dos soluciones,

  1. una cambiar todos los short tags

    por long tags

  2. Y la otra es simplemente decirle a php que acepte los short tags.

Para realizar la última vamos al archivo de configuración, en mi caso /etc/php5/apache2/php.ini y lo editamos para que el short open tag esté habilitado de la siguiente manera.

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On

Yo por mi parte usé lo último debido a que era lo más sencillo, pero empezaré a codificar todo con long tags para no tener problemas a futuro.

Cambiar el Timezone de PHP con .htaccess

En general si se compra un servicio de hosting no se tiene acceso a las configuraciones por defecto del servidor.

En el caso anterior para poder corregir la zona horaria por defecto que queremos que aparezca en nuestro servidor simplemente creamos en el root el archivo “.htaccess” ( punto incluido) Y escribimos en su contenido lo siguiente:

#Timezone por defecto
SetEnv TZ America/Santiago

En mi caso mi zona horaria es la Chilena, por lo que la seteo para Santiago.

Una lista con todas las zonas horarias disponibles puede ser encontrada en el siguiente link :

http://php.net/manual/en/timezones.php

Reporte Gráfico Elastix “La extensión debe ser numérica y no puede empezar con cero”

No se porqué, pero elastix para los reportes gráficos pide que los anexos partan con un número distinto de 0.

Para mi esto es un problema debido a que todos mis anexos parten con 0 !! ( al menos la mayoría de ellos ).

Como solución temporal edite el módulo que se encargaba de esta gestión para que pudiera aceptar el valor 0.

En mi caso, el archivo era : /var/www/html/modules/graphic_report/index.php

Revisando el código descubrí que se usa un pregmatch para encontrar que sea númerico y mayor que 0, simplemente se edita para que incluya el 0.

Original :

if(preg_match("/^[1-9]{1}[[:digit:]]*$/",$ext))

Editado :

if(preg_match("/^[0-9]{1}[[:digit:]]*$/",$ext))

Existen dos instancias que hay que editar, pero ambas son iguales.

De todas maneras si ocupas VIM puedes utilizar el siguiente comando para reemplazar todas las ocurrencias:

:%s/1-9/0-9/g

Y eso es todo :).

Obtener los email de los comentarios de un post en wordpress

A veces es necesario obtener los email de la gente que ha comentado en un post para mandarle alguna información que podría ser importante. Si bien no existe una forma directa de hacerlo, mysql viene a salvarnos el día.

SELECT comment_author_email 
FROM gr_comments 
WHERE comment_post_ID = 825 
GROUP BY comment_author_email;

En mi caso gr_comments corresponde a la tabla donde están los comentarios ( generalmente es wp_comments ) y 825 corresponde a el id del post.

El comando anterior obtiene la lista sin repeticiones de todos los comentarios de un post.

En el caso de querer enviar el resultado directamente a un archivo, desde la consola ejecutamos lo siguiente :

mysql -u USUARIO -pPASS BDD -e "select comment_author_email from gr_comments where comment_post_ID = 825 group by comment_author_email" > correos.txt

Bitcoin + Paypal = Scammers

En más de una ocasión he visto en foros preguntar el porqué no se pueden comprar bitcoins con paypal. La verdad es que la respuesta es bastante sencilla.

Paypal no se hace responsable por estafas  o te puede ayudar en ningun problema ocasionado por una transacción virtual. Incluso si has sido estafado claramente y tienes todo como para probarlo. No hay nada que se pueda hacer.

Siempre supe esto, pero yo si he vendido productos intangibles con paypal sin problemas. Sabiendo esto además SI fui victima de una estafa por la compra de un bitcoin. Al contactar a paypal me quedé con los brazos cruzados al tener la siguiente respuesta.

Dear Cristian Andres Tala Sanchez,
Thank you for contacting PayPal.
Unfortunately, PayPal was not able to resolve the dispute between the two parties due to the item purchased being virtual or intangible. As a result, PayPal has taken no action on either account at this time. However, the seller’s account has been noted for future reference.
Please let me know if you need further assistance.
Sincerely,
Leela Khalida
PayPal Protection Services
PayPal, an eBay CompanyCopyright© 1999-2013 PayPal Inc. All rights reserved.
Si bien yo conocía los riesgos, fui lo bastante ingenuo para creer que no tendría problemas en la transacción.
En mi caso particular fui contactado por una página en facebook por una persona que supuestamente vivía en españa, tenía bastantes amigos, etc. O sea, se veía real. Adjunto el correo que usó esta persona para la estafa con la compra del bitcoin. carlos2013v@yahoo.com . El perfil de facebook fue cerrado de inmediato luego de la estafa.
Como recomendación jamás hagan este tipo de transacción con paypal a menos que estén 100% seguros de que la persona es real y que tiene la solvencia de lo que te está vendiendo.

 

 

Deshabilitar CWebLogRoute de Yii para las acciones.

Ok,

cual es la razón del por qué quiero hacer esto ?

Estoy diseñando un API RESTful para conexión entre sistemas, y al devolverme además el contenido del CWebLogRoute hace que el receptor se maree, por lo que necesito que para las acciones de un controlador específico esto no ocurra.

Para mi caso solo deshabilitare el logging web de las acciones para un controlador específico, esto se hace con el siguiente código :

protected function beforeAction($action)
{
        foreach (Yii::app()->log->routes as $route)
        {
                if ($route instanceof CWebLogRoute)
                {
                        $route->enabled = false;
                }
        }
        return true;
}

Este código es extracto de un post en el foro de Yii, por el usuario derelict.

Espero que les sirva !

Conectar Empathy Ubuntu a un server Elastisk ( Asterisk )

Al fin tengo una central Voz sobre IP en la empresa ( YEI ! ), pero al momento de querer conectar empathy con ella no fue tan sencillo.

Desde la versión 13:04 deberíamos solo necesitar instalar lo siguiente :

sudo apt-get install telepathy-rakia account-plugin-sip

Y para los anteriores además;

sudo apt-get install telepathy-sofiasip telepathy-butterfly telepathy-idle libtelepathy-farsight0 python-tpfarsight

Ahora en empathy, al agregar una cuenta vemos además el símbolo SIP. Ahí simplemente agregamos la cuenta como cualquier otra.

Crear un par único en MySQL

La verdad desde que apareció phpMyAdmin me he vuelto un poco perezoso y se me han olvidado algunos comandos básicos para modificar tablas en mysql, lo que puede ser un problema cuando estás conectado por consola.

Actualmente tuve un pequeño lapsus mental y olvidé como crear un par único en mysql.

¿ Que es un par único en MySQL ?
Simplemente son dos columnas en una tabla que no pueden tener el mismo valor en una fila.

Les dejo mi ejemplo:

ALTER TABLE tbl_seleccion 
ADD CONSTRAINT UNICASELECCION 
UNIQUE NONCLUSTERED (idLista,idEmpleado)

En donde idLista e idEmpleado son las columnas que no quiero que se repitan por una fila.

Espero que les sirva !

CDbConnection failed to open the DB connection: could not find driver

Si estás utilizando Yii y tienes este error, lo más probable sea a que es debido a que no se encuentra instalado el conector de PHP con la base de datos solicitada. En este caso es tan sencillo como instalar el conector apropiado.

Para Mysql

sudo apt-get install php5-mysql

Para SQlite

sudo apt-get install php5-sqlite

Eso debería ser todo.

Saludos!

Google Webmaster Tools has not been enabled by the administrator of the domain

Algunos de nosotros hemos tenido la oportunidad de administrar varios dominios de google y su manejo de las aplicaciones, además de los Google Webmaster Tools o Herramientas para desarrollador. Esto ha cambiado bastante con los años, creo que el 2007/2008 fue la primera vez que comencé con la administración de esto y aún encuentro genial todas las mejoras que ha tenido.

Algunos de los dominios que tengo han dado el problema que aparece en el mensaje inicial, la verdad solucionarlo es bastante sencillo si se sabe como hacerlo.

Read More…

1 2 3 13  Scroll to top