No se puede abrir el archivo sqlite DB desde js axios.get request: (console.log genera un mensaje de excepción) . La solicitud puede llamar a mi controlador PHP para seleccionar datos de DB y devolverlos codificados en json.
Por otro lado, el controlador de PHP hace que su trabajo sea bueno: captura de pantalla
De esta manera, intento enviar una solicitud de axios desde el formulario de Vue: captura de pantalla o código:
Vue.createApp({ data: () => ({ processors:'', memory:'', drives:'', motherboards:'', cases:'', }), methods:{ fetchProcessors:function (){ axios.get('/src/controllers/getProcessors.php').then( (response) => { this.processors = response.data; console.log(response); }); } }, created:function (){ console.log('vue is ok'); this.fetchProcessors(); } }).mount(".js-form");Código del controlador PHP:
<?php require_once __DIR__ . '/../../vendor/autoload.php'; use Doctrine\DBAL; $connectionParams = [ 'url' => 'sqlite3:///db/calc_db.sqlite3' ]; try { $conn = DBAL\DriverManager::getConnection($connectionParams); $data = $conn->fetchAllAssociative('SELECT name, cost FROM processors'); echo json_encode($data, JSON_THROW_ON_ERROR); } catch (Exception $e) { echo $e->getMessage(); }He intentado:
El problema estaba en el parámetro 'ruta': inicié mi secuencia de comandos desde la raíz del proyecto (directorio de trabajo), por lo que la ruta relativa a mi base de datos se construye correctamente.
En el servidor web, WD era una ruta que di en la solicitud (directorio de controladores), por lo que la ruta relativa a mi base de datos se construye incorrectamente.
Reemplacé el parámetro de ruta así y todo está bien:
$connectionParams = [ 'path' => dirname(__DIR__, 2) . '/db/calc_db.sqlite3', 'driver' => 'pdo_sqlite' ];