Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro nas categorias

Tenho dois problemas, mais quero entender por partes. Então segue a pergunta:

Usando o xampp acesso o seguinte endereço: http://localhost/alura/phppdo/index.php

Aparece normalmente.

Usando Terminal php -S localhost:8080 e depois calhost:8080/index.php, também abre o front-end.

Porém quando clico em produtos Usando o xampp acesso o seguinte endereço: http://localhost/alura/phppdo/index.php da a mensagem:

Objeto não encontrado!
A URL requisitada não foi encontrada neste servidor. O link na página referida parece estar com algum erro ou desatualizado. Por favor informe o autor desta página sobre o erro.

Se você acredita ter encontrado um problema no servidor, por favor entre em contato com o webmaster.

Error 404
localhost
Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.10

Quando eu entro Usando Terminal php -S localhost:8080 e depois calhost:8080/index.php, também abre o front-end.

e clico em produtos aparece normalmente.

Esse é o primeiro problema que tive nessa aula, pode ser que a solução disto resolva meu segundo problema que não vou postar agora.

Só para constar meu phpinfo() informa que o php.ini está instalado em C:\xampp\php, de onde estou usando todos os exemplos.

8 respostas

Anderson, boa tarde!

Pelas ocorrências parecidas que eu encontrei a solução seria desabilitar as url's amigáveis do Xampp.

Porém eu acho importante ressaltar que hoje em dia não é muito comum usar o Xampp mais, visto que o php tem um servidor embutido

php -S localhost:8080

E nós recomendamos usá-lo

Espero ter ajudado e bons estudos!

Certo. Mais caso queira usar MySQL tenho de configurar na mão?

Anderson, boa noite!

Caso ele não esteja instalado na sua máquina precisa sim, pois é necessário definir usuário e senha do seu banco de dados, caso tenha a configuração não é necessária

Espero ter ajudado e bons estudos!

Mais não tem nenhum curso aqui que ensine a instalar mysql na mão. Ao contrário acho que usam instaladores prontos como o xampp. Como faço para desabilitar as URLs amigáveis do xampp? E porque tenho de fazer Isso?

Anderson, boa tarde!

No curso de MySQL, na primeira aula é ensinado a instalar o mysql em diversos tanto no Windows quanto no Linux.

A fonte de pesquisa que eu usei foi esse site:

Ele indicou o caminho:

Sistema > sua loja > editar > loja ou servidor (alguma das duas) a opção de URLs Amigáveis (desabilite-a)

Caso a solução passada não resolva o problema, você pode compartilhar o seu código para que eu possa testá-lo

Espero ter ajudado e bons estudos!

Você disse:

"A fonte de pesquisa que eu usei foi esse site:

Ele indicou o caminho:"

Mais não tem o link...

solução

Vou encerrar essa discussão por enquanto. Acabei de configurar o php manual, e vou instalar o Mysql individual. Se der erro quando eu voltar para essa parte do curso avisarei.

Ok removi o wamp, instalei o Mysql individual. Meu Front End funciona pois estou executando o servidor local do Php. Ao clicar em Categoria dar o seguinte erro:

Fatal error: Uncaught PDOException: PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in C:\Projetos Web\alura\phppdo\classes\Categoria.php:12 Stack trace: #0 C:\Projetos Web\alura\phppdo\classes\Categoria.php(12): PDO->__construct('mysql:host=127....', 'root', 'A1.camila321') #1 C:\Projetos Web\alura\phppdo\categorias.php(4): Categoria->listar() #2 {main} Next PDOException: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client in C:\Projetos Web\alura\phppdo\classes\Categoria.php:12 Stack trace: #0 C:\Projetos Web\alura\phppdo\classes\Categoria.php(12): PDO->__construct('mysql:host=127....', 'root', 'A1.camila321') #1 C:\Projetos Web\alura\phppdo\categorias.php(4): Categoria->listar() #2 {main} thrown in C:\Projetos Web\alura\phppdo\classes\Categoria.php on line 12

Meu arquivo de Categoria.php está da seguinte forma:

<?php

class Categoria
{

    public $id;
    public $nome;

    public function listar()
    {
        $query = "SELECT id, nome FROM categorias";
        $conexao = new PDO('mysql:host=127.0.0.1;dbname=estoque', 'root', 'A1.camila321');
        $resultado = $conexao->query($query);
        $lista = $resultado->fetchAll();
        return $lista;
    }
}

Minha senha A1.camila321 defini na instalação do Mysql, ele deveria aceitar... mais está dando esse erro.