Mostrando entradas con la etiqueta laravel. Mostrar todas las entradas
Mostrando entradas con la etiqueta laravel. Mostrar todas las entradas

sábado, 11 de febrero de 2017

Corregir: file_exists(): open_basedir restriction in effect. File(/var/www/html/

Cuando desplegué un api que estoy desarrollando a mi hosting me saltó el siguiente error:


ErrorException
 in Filesystem.php line 23:
file_exists(): open_basedir restriction in effect. File(/var/www/html/API/storage/framework/cache/2c/60) is not within the allowed path(s): (/home/u776079664:/tmp:/var/tmp:/opt/php-5.6/pear:/usr/local/bin:/etc/pki/tls/certs)



En esta imag se ve mejor


Esta mierda ocurre porque se subió el fichero de bootstrap/cache/config.php que se crea cuando se ejecuta el comando

php artisan config:make

Para solucionar el error basta con borrar este fichero en el servidor o lo que es lo mismo, ejecutar :

php artisan config:clear

martes, 7 de febrero de 2017

Enviar correos desde Laravel usando cuenta Gmail

Intentando enviar un correo desde láravel usando mi cuenta gmail encontré que cuando se intentaba enviar me salía el siguiente error: 

Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials p62sm3200250ywb.2 - gsmtp
"


Esto ocurre porque gmail detecta el server como una aplicación no segura. 
Para solucionarlo debes ir a la cuenta de gmail e entrar en: 



Ya con esto debería funcionar.
Mis valores del .env me quedaron así:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=micorreo@gmail.com
MAIL_PASSWORD=claveloca
MAIL_ENCRYPTION=tls

Si todavía con eso no te funciona intenta entrar en el siguiente link y darle aceptar:


sábado, 4 de febrero de 2017

Manejo de imágenes API con Laravel 5.3

Me surgió hacer un api en donde el cliente debía subir imágenes:

Para hacerlo es muy sencillo. Primero creas la ruta:

Route::post('/add', 'ApiAuthController@add');

Luego creas el controlador

    public function add(Request $request) {
        $v = Validator::make($request->all(), [
            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

        if ($v->fails()){
            return response()->json(["success"=>"False", "Error"=>$v], 422);
        }

        $image = $request->file('image');
        $input['imagename'] = time().'.'.$image->getClientOriginalExtension();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $input['imagename']);

//        $this->postImage->add($input);

        return back()->with('success','Image Upload successful');
    }

Luego lo pruebas con Postman


y Listo. Se guarda en public/images



Hosting

domingo, 4 de diciembre de 2016

Inputs en Métodos PUT y PATCH En laravel 5

Intentando procesar un request desde un controlador me di cuenta que los parámetros no llegaban por body cuando se usan los métodos PUT y PATCH por lo que debes insertalos por la url:

Route::patch( '/datosbancarios','PersonasController@modificarDatosBancarios')->middleware('jwt.auth');

Ejemplo en postman:


sábado, 3 de diciembre de 2016

SOLUCION DEFINITIVA: Server unable to read htaccess file, denying access to be safe

Tratando de subir un proyecto en Laravel 5 a un servidor, me conseguí con el siguiente mensaje de error cuando intentaba entrar en public:

"Server unable to read htaccess file, denying access to be safe"

El problema ocurre porque los permisos no están bien configurados:

Para solucionarlo debes cambiar el permisos de todos los directorios a 755 y el de los ficheros a 644
Para hacerlo entramos por shh al server nos paramos en la carpeta del proyecto y ejecutamos lo siguiente:

chmod 755 $(find . -type d)
chmod 644 $(find . -type f)

Los permisos deben quedar como en la siguiente imagen:


domingo, 29 de marzo de 2015

Fix dompdf genera un PDF corrupto Laravel

Haciendo una prueba con dompdf para Laravel 5 me encontré con que la libreria generaba un PDF corrupto que no se podia leer y Chrome me indicaba "No se pudo cargar el documento PDF".



Me puse a revisar el binario del fichero con Okteta y me di cuenta que dentro del PDF generado se colaba un mensaje de error que indicaba "date(): It is not safe to rely on the system's timezone ..."



Esto ocurre porque la zona horaria no está configurada dentro del fichero php.ini
Basta con editar el fichero /etc/php.ini (Ese es el directorio en Fedora)


Luego buscar el apartado [Date] y editar el campo date.timezone
Colócale tu zona horaria correspondiente. 
Como soy de venezuela debo colocar: America/Caracas


Guardas, reinicias apache con service httpd restart



Y listo, el PDF se genera bien



Este fue el código de prueba que usé:

<?php 
require '../vendor/autoload.php';
define('DOMPDF_ENABLE_AUTOLOAD', false);
require_once '../vendor/dompdf/dompdf/dompdf_config.inc.php';
$html= "<!DOCTYPE html>".
"<html>".
"<head>".
"<title>PULEINA</title>".
"</head>".
"<body>".
"<h1>HOLA!</h1>".
"</body>".
"</html>";
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample1.pdf");
?>