Acompanhe a criação de 2 bonsais
Acesse http://cabecadioreia.weebly.com para acompanhar a criação de 2 bonsais.. Desde a plantação da semente. As espécies são Acer Palmatum e Uva Japonesa.
Abraço!
Acesse http://cabecadioreia.weebly.com para acompanhar a criação de 2 bonsais.. Desde a plantação da semente. As espécies são Acer Palmatum e Uva Japonesa.
Abraço!
Fazia muito tempo que eu não precisava de uma base de dados InnoDB já que a maioria das aplicações que existiam no servidor ainda utilizavam bases myisam.. O que aconteceu foi que quando surgiu a necessidade, lá foi eu mecher no my.cnf para habilitar o tal do InnoDB.
Pra minha surpresa, quando eu tentava startar o mysql, eu recebia o seguinte erro:
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
Quando eu fui ver nos logs o que que estava acontecendo, eis o que vi:
[ERROR] /usr/local/mysql/libexec/mysqld: unknown variable 'innodb_data_home_dir=/usr/local/mysql/var'
Foi então que começei a procurar o que podia estar errado.. E encontrei.
Eu não me lembro realmente quando instalei o mysql e precisei iniciar com InnoDB, mas o que lembro foi que naquela época eu não precisei inserir nada mesmo no ./configure para que ele rodasse sem problemas. O problema é que agora o InnoDB é considerado um plugin, e tem que ser inserido no configure para que entre na compilação. São 2 plugins para ele: innobase e innodb_plugin. Para compinar seu mysql com esse suporte, adicione ao ./configure:
--with-plugins=innobase,innodb_plugin
Uma outra maneira é adicionando suporte máximo ao mysql:
--with-plugins=max
Isso irá fazer o trabalho pra você!!!
Espero ter ajudado!! Um abraço!
Para você que tem problemas de saber qual DNS usar, o Google disponibilizou 2 ips para serem usados como DNS primário e secundário. 8.8.8.8 e 8.8.4.4. Basta saber agora se isso é um plano para dominar o mundo ou é só porque eles são bonzinhos mesmo
- Eles já leem todos os seus emails;
- Eles já sabem de todas as buscas que você faz;
- Agora eles vão saber todos os sites que você visita!!!
Teoria da conspiração ou não????
Boa noite povo,
Para aqueles que estão tendo problemas em adicionar uma tabela no javadb com auto increment, aqui vai um exemplo:
create table tabela (
id bigint NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
descricao VARCHAR(10) NOT NULL);
Lembrando que com esse método você não pode tentar inserir um valor na coluna ID.. ela sempre vai ser automática e auto incrementável. Caso você tente, vai ter um exception como esse:
Exception: Attempt to modify an identity column ‘ID’.
Qualquer dúvida comente ae
Bejo, me liga.
— Esse foi um artigo que coloquei a muito tempo atras no phpbrasil.. Achei legal colocar aqui tb –
Bom, como todo mundo gosta, vamos direto ao assunto! Como fazer para enviar anexos com o email pelo PHP???
Para utilizar desse script é necessário que a função mail() de seu PHP esteja funcionando! Lembrando que, para ela funcionar, você deve ter instalado algum server de email (qmail, sendmail) anteriormente já que o php, na hora de compilar, procura pelo link simbolico do sendmail no sistema.
Na hora de desenvolver o script, tomei como referencia os emails anexados pelo Outlook Express 6 (que é um dos mais utilizados atualmente :/ ).
Vamos dizer que você queira anexar o arquivo imagem.gif em seu e-mail. Vou colocar o código primeiro e depois a explicação.
<?php
$boundary = strtotime(’NOW’);$headers = “From: Eu <meu@email.com.br>\n”;
$headers .= “MIME-Version: 1.0\n”;
$headers .= “Content-Type: multipart/mixed; boundary=\”" . $boundary . “\”\n”;$msg = “–” . $boundary . “\n”;
$msg .= “Content-Type: text/plain; charset=\”iso-8859-1\”\n”;
$msg .= “Content-Transfer-Encoding: quoted-printable\n\n”;$msg .= “Aqui eu escrevo o texto do email\n”;
$msg .= “–” . $boundary . “\n”;
$msg .= “Content-Transfer-Encoding: base64\n”;
$msg .= “Content-Disposition: attachment; filename=\”imagem.gif\”\n\n”;ob_start();
readfile(”imagem.gif”);
$enc = ob_get_contents();
ob_end_clean();$msg_temp = base64_encode($enc). “\n”;
$tmp[1] = strlen($msg_temp);
$tmp[2] = ceil($tmp[1]/76);for ($b = 0; $b <= $tmp[2]; $b++) {
$tmp[3] = $b * 76;
$msg .= substr($msg_temp, $tmp[3], 76) . “\n”;
}unset($msg_temp, $tmp, $enc);
mail(”para@email.com.br”, “Assunto”, $msg, $headers);
?>
Bom, agora vamos as explicações!
———
$boundary = strtotime(’NOW’);
$headers = “From: Eu <meu@email.com.br>\n”;
$headers .= “MIME-Version: 1.0\n”;
$headers .= “Content-Type: multipart/mixed; boundary=\”" . $boundary . “\”\n”;
———
Boundary é a marcação que o programa de email vai levar em conta na hora da separação das partes do email. No corpo do email ele é identificado como ‘–’ mais o boundary!
Em baixo defini alguns cabeçalhos do email. Isso fica a gosto de cada um.
———
$msg = “–” . $boundary . “\n”;
$msg .= “Content-Type: text/plain; charset=\”iso-8859-1\”\n”;
$msg .= “Content-Transfer-Encoding: quoted-printable\n\n”;
$msg .= “Aqui eu escrevo o texto do email\n”;
———
Essa parte é a parte do email que fica o texto! Neste caso ele está em texto puro (text/plain). Mas dá para ser em html (text/html) e dae só precisa colocar as tags do html!
———
$msg .= “–” . $boundary . “\n”;
$msg .= “Content-Transfer-Encoding: base64\n”;
$msg .= “Content-Disposition: attachment; filename=\”imagem.gif\”\n\n”;
ob_start();
readfile(”imagem.gif”);
$enc = ob_get_contents();
ob_end_clean();
$msg_temp = base64_encode($enc). “\n”;
$tmp[1] = strlen($msg_temp);
$tmp[2] = ceil($tmp[1]/76);
for ($b = 0; $b <= $tmp[2]; $b++) {
$tmp[3] = $b * 76;
$msg .= substr($msg_temp, $tmp[3], 76) . “\n”;
}
unset($msg_temp, $tmp, $enc);
———
Esta parte define a imagem em si! Primeiramente eu envio os identificadores de anexo, com o nome do anexo. Mais embaixo, eu pego o conteúdo do arquivo ( readfile(”imagem.gif”); ) e o encripto com o base64 (formato padrão dos anexos no email!).
É nessa parte que tem que se tomar cuidado, pois pelo RFC as linhas do email não podem ser muito grandes. Por isso o FOR “quebra” o conteudo do arquivo em pedaços de 76 caracteres!
Lembrando que, para mandar mais de um arquivo, é colocar um for para pegar os arquivos que você quer… o for fica por conta de voces!!
Libero da memória as variáveis que não me interessam e finalmente…
———
mail(”para@email.com.br”, “Assunto”, $msg, $headers);
———
Envia-se o email!!!
E é isso!!!! Com esse código e sua imaginação você consegue fazer muitas coisas com o email!!!
Lembrando que isso é só o conceito básico, a partir desse código você pode desenvolver sua imaginação (criar funçoes, classes, etc)…
[]s
Fiz a troca do sistema de blog que estava utilizando e acabei perdendo os comentários.. dava muito trabalho ir atrás de tudo os dados, então ficou assim mesmo.. acho que agora não vai ter mudanças durante algum tempo..
[]s
Esses dias eu tive muitos problemas para acessar os shares do Samba com o 98.. Um outro servidor, com o mesmo smb.conf mas com uma versão diferente do samba funcionava normalmente, mas o servidor novo não.. Quando olhava o log, o erro que dava era:
check_ntlm_password: Authentication for user [user] -> [user] FAILED with error NT_STATUS_WRONG_PASSWORD
No meu smb.conf eu estava com security = user e encrypt passwords = yes e não tava nem um pouco a fim de mudar.
Procurando sobre o assunto, achei um negocio interessante. Parece que o Win98 utiliza o lanman e o winXP o NTLMv2. O samba aceita a autenticação do XP, mas não do 98.. Então, para mudar a maneira que o win98 faz a verificação, execute os seguintes passos:
1. Adicione as seguintes linhas sem seu smb.conf na sessão [Global]:
ntlm auth = Yes
client ntlmv2 auth = Yes2. Restarte o samba;
3. Baixe o arquivo https://fp.arizona.edu/accounts/dsclient/98DSCLIENT.exe e instale. Não reinicie a máquina quando for solicitado.
4. Abra seu regedit e acesse a chave KEY_LOCAL_MACHINE\System\CurrentControlSet\Control. Crie a chave Lsa dentro de Control. Sua chave então ficará KEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa;
5. Dentro de Lsa, crie um novo Dword com o valor: “LMCompatibility”=dword:00000003
6. Salve e reinicie o win98.
Com esses passos será possível acessar os compartilhamentos da mesma maneira que o windows XP acessa.
Dúvidas por favor comentem.
Abraços!
Algumas vezes eu me perguntava da onde que era retirado os devices das placas de rede que a gente colocava.. Será que era pelo slot!?!?! Bom, oque eu descobri é que você pode determinar qual device deve ser cada placa. Para isso é só editar o arquivo /etc/udev/rules.d/70-persistent-net.rules.
Este arquivo vai te mostrar uma listagem como esta:
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.# Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rule written by anaconda)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:23:7d:34:14:18″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth2″# 3Com Corporation 3c905C-TX/TX-M [Tornado] (rule written by anaconda)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:01:03:d8:0b:71″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″# PCI device 0×10b7:0×9200 (3c59x)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:04:75:0a:82:43″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″
Caso você queira trocar qual a sua placa, mude o NAME no final da linha. Quando um device aparece como eth?_rename geralmente é porque 2 devices foram adicionados com o mesmo name… Foi o que aconteceu comigo
É isso
Ahhh, não esqueça de rebootar!
Bejo, me liga.
Boa noite a todos,
Para aqueles que passaram váááários tempos tentando rodar o grub com (geralmente) servidores HP Proliant, aqui vai o passo a passo. Antes de mostrar o que fazer, para ficar claro para vocês, o problema que eu estava tendo era na hora de rebootar a maquina. O prompt do grub não aparecia e eu não conseguia dar boot. Resolvi da seguinte maneira:
Entre com o CD de instalação no modo rescue e monte a partição que está seu linux;
Edite o arquivo grub.conf e retire o comentário da linha boot=/dev/cciss/c0d0;
Edite o arquivo /boot/grub/device.map para conter o seguinte:
(fd0) /dev/fd0
(hd0) /dev/cciss/c0d0Rode o console do grub com o seguinte comando:
/sbin/grub –batch –device-map=/boot/grub/device.map
–config-file=/boot/grub/grub.conf –no-floppyExecute os seguintes comandos no console do grub:
grub> root (hd0,0)
grub> setup (hd0)
grub> quitReinicie o servidor que agora tudo vai funcionar!!!
![]()
Espero que te salve muito tempo!
))
[]s
Bom dia pessoal…
Antes de mais nada, para quem não sabe, o modulo ipp2p serve para bloqueios de aplicativos p2p no linux. Ele funciona com o iptables e precisa estar com o netfilter ativado no kernel. Bom… agora vamos lá..
Pra quem está com problemas com ipp2p e o kernel 2.6.21 (ou outros) e está recebendo mensagens do tipo:
WARNING: “ipt_unregister_match” [/usr/local/src/ipp2p-0.8.2/ipt_ipp2p.ko] undefined!
WARNING: “ipt_register_match” [/usr/local/src/ipp2p-0.8.2/ipt_ipp2p.ko] undefined!
Para corrigir este problema, entre no diretorio source do seu kernel (/usr/src/linux), e edite o arquivo include/linux/netfilter_ipv4/ip_tables.h adicionando o seguinte conteudo:
#define ipt_register_match(mtch) ({ (mtch)->family = AF_INET; xt_register_match(mtch); })
#define ipt_unregister_match(mtch) xt_unregister_match(mtch)
Adicione essas 2 linhas no começo do arquivo, depois do ultimo #define, antes da linha que tem esse conteudo:
/* Yes, Virginia, you have to zero the padding. */
Depois disso é só compilar seu kernel (make; make modules; make modules_install; make install).
Atualize seu boot loader (lilo ou grub) e reinicie a máquina. Uma vez ela reiniciada, entre no diretorio do seu ipp2p, de um make clean para limpar tudo e depois make para compilar!
Pronto!!! Seu ipp2p vai funcionar que é uma beleza
Lembrando que vc tem que copiar o arquivo .so criado para /lib/iptables e lembrando também que para compilar o ipp2p vc precisa ter o source do iptables (eu uso o 1.3.0).
Caso alguém tenha dúvidas é só escrever!!
[]s povo