Converter chave ppk pra pem

Pra isso é necessário ter o putty instalado, por sorte ele tem port pra sistemas *nix

Instalando no Linux (debian/ubuntu)

sudo apt-get install putty-tools

Instalando no OpenSuSE

sudo zypper install putty

Instalando no MAC OSX

brew install putty

Pra converter, basta usar o comando:

puttygen MINHACHAVE.ppk -O private-openssh -o MINHACHAVE.pem

Mysql ERROR 1452 – Cannot add or update a child row

Estava exportando um dump de um cliente e me reparei com esse erro no mysql:

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`databasename`.`#sql-c55_f93b7`, CONSTRAINT `foreign_key_name` FOREIGN KEY (`client_id`) REFERENCES `table_name` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)

Este erro é muito comum quando o dump é editado manualmente e é inserido/editado algum dado que não está em conformidade com a chave estrangeira.
Para forçar um import, basta desabilitar a checagem de integridade das chaves estrangeiras inserindo a liha abaixo no início do arquivo de import:

SET foreign_key_checks = 0;

Só não se esquecendo que isso resolve a questão do import, mas não dos dados, então é sempre importante revisar os dados após o procedimento pra localizar a raiz do problema.

file_get_contents e scandir no php4

php
Pra quem precisa desenvolver mantendo compatibilidade com PHP4, aqui algumas funções que podem ser úteis. irei adicionando mais com o tempo.

if(!function_exists('scandir')) {
	function scandir($dir, $sortorder = 0) {
		if(!is_dir($dir)) return false;

		$dirlist = @opendir($dir);
		while(($file = readdir($dirlist)) !== false) {
			if(is_dir($file)) continue;
			$files[] = $file;
		}
		($sortorder == 0) ? asort($files) : rsort($files);
		return $files;
	}
}

if (!function_exists('file_put_contents')) {
	function file_put_contents($filename, $data, $append=false) {
		$mode = ($append == 'FILE_APPEND') ? 'a' : 'w';
		$f = @fopen($filename, $mode);
		if(!$f) return false;

		$bytes = fwrite($f, $data);
		fclose($f);
		return $bytes;
	}
}

E pra quem necessita de uma hospedagem de qualidade compatível com php4 ou várias versões do php5 (atualmente 5.2, 5.3 e 5.4), recomendo fortemente a kinghost.