Adicionem o novo domínio do blog aos seus favoritos! www.crashcomputer.com.br

   domingo, 21 de fevereiro de 2010

Linux Lixux



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Quando eu meto o pau em linux, digo que é uma bosta, um lixo, os mais xiitas querem me pegar de pau. Mas veja a historinha de hoje.

Catei um exemplo simplérrimo de uma enquete que grava os dados em arquivo texto, toda feita em PHP. Coisinha simples, baba de usar.

Mexi daqui e dali, e integrei ela em um site meu. Fiz todos os testes no servidor local aqui (apache em cima do windows 2000 e php5). Tudo funcionou perfeitamente, uma maravilha.

O mexe-mexe foi basicamente formatação da parte html e css, ou seja não mexi em nada no engine, exceto fato de mover os “bancos de dados txt” pra um diretório, obviamente modifiquei o path no script e tudo joia. 1000 maravilhas aqui no servidor windows.

Dai subi o arquivo pro servidor web que ronda em…. linux lixux. Adivinha o resultado?

Contei exatamente TRÊS QUATRO erros cabeludos.

– Alerta de divisão por zero quando a enquete esta com zero votos.
– Não consegue gravar nem a poder de macumba nos arquivos, mesmo dando chmod 666, e tudo se passa lindamente como se tivesse gravado e não dá um erro se quer.
– Dá um alerta pra lá de bizarro na função FREAD.
– Consegui criar 6 arquivos com caracteres proibidos no nome, tal como “enquete\data.txt” que não é apagado por nenhum cliente FTP, pois dá erro 550, prohibited file name. (Edit 21/01/2010: Consegui apagar, a dica esta aqui: http://www.crashcomputer.caetano.eng.br/?p=1290)

Não é lindo?

O que tive que “desmanchar”:

– O alerta de erro de divisão, resolvi da forma tosca… todas enquetes sempre irão sair com um voto… o meu. Dai não dá o erro.
– E não gravou nem a pau, pedrada e o cacete que for no diretório /enquete. Tive que mover os arquivos txt pra RAIS do servidor e remover o caminho para o diretório. Dai gravou…
– O erro da função FREAD, em um fórum alguém deu duas dicas: Não deixar nenhum dos dois arquivos vazios (quando criar a enquete) e colocar uma @ antes da função FREAD

Tempo gasto na operação “fazer o que roda bem no servidor windows, rodar meia boca no servidor linux, entre um milhão de googleadas”: 3 horas.

Tempo que gastei (antes) pra modificar a enquete: 40 minutos.

É pra matar ou não?

Depois disso eu continuo dizendo… linux é um merda… viva o Windows com todos os seus bugs e defeitos, mas esse qualquer um com um minimo de conhecimentos conserta ou remenda.



  Seguir comentários via RSS

5 thoughts on “Linux Lixux

  1. chico disse:

    Seja menos dramatico.
    EU adoro Windows, programo em Visual C Windows (MFC C++) tambem :D
    Mas eventualmente uso Linux, pois tem coisas que são possiveis fazer com extrema simplicidade; scripts BASH mt poderosos, por exemplo Acredite.
    Lá existe um paraiso.
    Não sou evangelista.
    Mesmo por que uso e programo 99% do tempo em windows.
    O detalhe é que a gente ta muito alienado pelo sistema das janelas; ele é pratico, legal, bonitinho, e exibe as imagens perfeitamente; ainda nao gosto do modo descontrolado com os pixels sao exibidos no X. Mas voltando, ai quando precisa usar o Linux fica com essa impressao pessima por alguns detalhes.
    Seu problema dos arquivos? Bom, acho, imagino, acredito, penso que provavelmente quem está tentando gravar os arquivos é o usuario que roda o script PHP no servidor LINUX. E ele NÃO é SEU usuario, mas o usuario que iniciou o daewon do PHP no momento da chamada da pagina da internet.
    Provavelmente o DIRETORIO onde voce está tentando gravar o arquivo esta sem permissão.
    Voce terá que alterar as permissoes do DIRETORIO tambem. Já tive problemas assim no passado.
    Abraços, espero ter ajudado.

  2. Luciano disse:

    Olha, isso é relativo. Tudo o que eu precisei depender de linux até hoje só deu dor de cabeça, enquanto no windows acaba funcionando.

    Quanto a permissão no diretório, também cheguei a fazer isso ontem. Marquei a pasta com permissão 666 e nem assim deu certo.

    No final aconteceu coisa mais esquisita ainda. Dentro do diretório "enquete" apareceu dois arquivos:

    enquete\data.txt
    enquete\ip.txt

    Isso mesmo, arquivo com o caractere "\" no nome do arquivo. Pergunta se dá pra excluir ou renomear esses arquivos???

    Tá bom ou quer mais? :)

  3. SLotman disse:

    Mas hein?

    Olha, eu ODEIO Lixun (como dizia o mestre Adriano), mas tem coisa estranha nisso aí…

    Pra início, o Lixun usa "/" no path, então os arquivos tinham que ficar como "enquete/data.txt", por exemplo. Talvez esse seja o problema de não conseguir gravar? Explicaria o pq de funcionar no raiz…

    Já a divisão por zero é normal, isso acontece em toda linguagem. Se não aconteceu no Windows, tem algo errado é lá!

    A divisão por zero, basta checar o divisor, se ele for 0, nem faz a conta e assume o resultado como 0 :)

    Agora esse da função fread é bizarríssimo. Nunca ouvi falar de tascar @!

    Eu a uns dias atrás tive que mudar a forma como minha lojinha online manda os arquivos para quem compra os jogos, e tive que usar justamente o fread… usei um $buffer = fread($handle, $chunksize); e funcionou perfeitamente.

    Por acaso você testou o resultado do fopen para ver se ele estava conseguindo abrir o arquivo?

  4. chico disse:

    Talvez voce tenha que ajustar os caminhos no seu programa, ajustando as BARRAS de \ para / com o post anterior colocou.
    Se houver algum tipo de percauso diplomatico grave, a MS pode muito bem bloquear os windows aqui, sabiam disto? Essa é uma das diferenças mais delicadas que envolve o adoção de Linux. Sempre gosto de ter ele na manga.

  5. Luciano disse:

    Chico, agradeço o comentário. Quanto ao usar / ao invés de \, qualquer hora dessas eu testo, pois eu ando levando muito em consideração o famigerado "solucionador de problemas":

    "A bagaça funciona? Então Nem rela! = Sem problemas!"

    Sobre percauso diplomático eu digo o seguinte: A M$ não tem interesse sério em bloquear os windows… te digo isso pelo seguinte, ela tem a maior base instalada por causa também da pirataria. Te garanto que se ela fizer isso boa parte não vai legalizar a situação e vai procurar outras soluções que necessáriamente pode e não pode ser o sisteminha free ordinário que eu estou pegando alergia até no do nome.

    E tem mais, a M$ já tentou intimidar com o XP… não deu. O seven inventaram a tal da ativação, segurou um pouco mas já resolveram um "by-pass" pra ela.

    Escreva num quadro e pendure ai na parede uma máxima que eu já uso a tempos:

    "Enquanto uma cabeça pensa no cadeado existirão outras 100 cabeças pensando no pé-de-cabra."

    Então é o que eu digo, não existe software a prova de "sucrilhos", se o treco for interessante e tiver demanda, sempre terá uma legião por trás descobrindo com fazer o treco funcionar for free. É triste mas é assim que o mundo do software roda.

    Edit em 21/04/2010: Consegui apagar os arquivos com esta dica aqui:

    http://www.crashcomputer.caetano.eng.br/?p=1290

    Ufa! :-P

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

:D :tooth: :mrgreen: :-P :-)) (lol) .:lol:. o:-) 8-) :-$ :-| }:D :-/ -_- |-/ :X.: =X 8|( :xxx :furious: :-o* X-P 8x :censored: *~O more »


1) Os comentários são moderados.
2) Comentários que não sejam referentes ao assunto do post serão excluídos.
3) Eu posso editar seu comentário antes de publicar, se o achar necessário.
  Melhor visualizado a
1024 x 768 True color
Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
E altamente gambiarrado por mim mesmo :)
Copyright © 2010 by Crash Computer. All rights reserved.