Warning: Use of undefined constant kk_online_users_widget_register - assumed 'kk_online_users_widget_register' (this will throw an Error in a future version of PHP) in /home/kikoseijo/public_html/wp-content/plugins/aksoft-wp/aksoft-wps.php on line 84 Linux archivos - Desarrollo de aplicaciones móviles en Málaga
Con este sencillo truco podemos ajustar el nombre de las relaciones polimorficas con tablas anidadas que por defecto van a tomar el nombre de la clase del modelo.
Lo primero es crear una tabla de relaciones, en nuestro caso vamos a incorporarla dentro del archivo config/app.php
A Continuacion nos vamos a nuestro Service Provider, en nuestro ejemplo vamos a usar el que viene por defecto en la instalación del Laravel, app/Providers/AppServiceProvider.php
...
use Illuminate\Database\Eloquent\Relations\Relation;
...
public function boot()
{
...
Relation::morphMap(config('app.post_types'));
...
}
The main purpose of this package its to generate on the fly several classes inside your projects,
on a clean an easy way will provide by default with full CRUD with Swagger generation on a clever and simple
way.
This are the main functionalities you can find on this package-library.
Wiki Index
Example:
We are going to create a full CRUD for the models Role inside a Subfolder
called Admin and route prefix v1 crud using the console
The full scope of this start making the models by generating the migrations, spend time on this, so, start by:
Creating your Migrations.
Make Seeders, its not strictly necesary, but you should…
Make your model (Working on automate this, follow this guide: Ethereal)
Generate CRUD: php artisan ksoft:krud Model
Generate Swagger: php artisan ksoft:swagger
Thats all, you got full working API, with its Swagger v2 Specks,
So, basicaly, instead of creating each of this configuration, this package does it for you, isnt it handy? will create the files for each model, this command will produce this files, extending all its base functionality from other packages thats provides an extra layer of functionality.
and now What?
Well, if yo got reading this far all this above might make sense to you, am i right?
You should concentrate in validation, make custom validations if you need them, if you havent done so when creating the models, othewise just concentrate on giving your app the customized functionality, you can overwrite all functionality thanks to the class this files extends from. Just follow the thanks section to have a deeper understanting of what all this is about, or checkout dependancies on composer.json-
Notes
Generating model directly from the table database its one of the next features, right now you could have it done with couple packages, them both not enabled right now.
Cuando hay muchas version de php tenemos que hacer malabares para fijar la que nos hace falta, con programas como Laravel debemos que funcionen también para los usuarios por comandos cuando hay que hacer los deploy.
El problema
Tenemos instalada la ultima versión de php pero composer se queja de que no está detectando la última version de PHP.
No podemos installar paquetes porque nos dice que el php no es compatible con lo que nuestro nuevo paquete necesita como requerimiento mínimo.
Soluciones
Las soluciones son varias, pero lo mejor es no tocar demasiado en las librerías instaladas, y mucho menos en un servidor dedicado con clientes con webs de mas de 10 años, donde actualizar php no es una opción viable.
Creo que una de las soluciones mas sencillas es crear unos alias en el perfil del usuario que tiene los problemas, ya sea en el .profile, .bashrc, .bash_profile. Dependerá de tu distribución y forma de lograrte en tu servidor.
Alias
Tendrás que editar el fichero que carga tu usuario al hacer login, añade las 2 primeras líneas, si quieres puedes añadir las demás también, no van a hacer ningún daño.
alias php="/usr/bin/php71"
alias composer="php /bin/composer"
// ya es estamos, vamos a darle mas comandos.
alias ka="php artisan"
alias kdump="composer dump autoload"
Espero os ayude, siempre es bueno tener esto a mano para no andar buscando lejos.
Os dejo un enlace al gist donde mantengo una version de las funciones mas utilizadas al preparar un nuevo servidor que va a correr Laravel.
Para que funcione hay que tener instalado Laravel Envoy, y crear un archivo en la raiz del projecto, desde donde se lanzan los camandos.
ej: envoy run deploy conectar al servidor, descarga el commit mas reciente del repositorio que hayamos preconfigurado en nuestro projecto, en nuestro repositorio publico privado y va a instalar los paquetes de del composer que encuentre nuevo.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
En esta entrada os indico como actualizar la versión de PHP en un servidor Centos7. Sabemos que PHP7 cuatriplica la velocidad de procesamiento y reduce en un 30% la memoria que necesita, asi que después de valorarlo en algunos entornos en producción nos vemos obligados a instalarlos en todos los servidores nuevos que vamos creando.
Los comandos son sencillos, asumimos que los hacemos con root o si necesitas un sudoer puedes añadirle los comandos necesarios.
Antes de nada, para poder ejecutar el comando yum-config-manager necesitamos tener instalados la herramienta yum-utils, este grupo de herramientas del gestor de paquetes YUM de Centos que van a hacer la vida más fácil. Vamos a ello:
yum install yum-utils
Vamos a importar los repositorios de REMI y habilitarlos, simplemente tenemos que ejecutar un yum update y nuestros sistema estará de forma muy sencilla corriendo de forma nativa la version 7 de PHP.
Voilà, ahora si, lo verificamos y comprobamos que estamos corriendo la version de php elegida, ahora nuestro web server va a servir los WordPress’s 4 veces mas rápido y nuestro servidor puede dar servicio a muchos más clientes usando los mismos recursos.
[root@XXXX ~]# php -v
PHP 7.0.17 (cli) (built: Mar 14 2017 15:14:30) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
Os lo recomiendo si no lo habeis hecho todavía por miedo a los famoso upgrade.
Checkear que archivos pueden haber cambiado, este truco se hace con dos versiones idénticas de WordPress, la tuya y una descargada, vamos a buscar diferencias en los archivos para ver cuales pueden estar comprometidos:
si encuentras archivos maliciosos busca en los logs los accesos a estos archivos para encontrar la ip del hacker que ha hecho la intrusion.
grep -i "ejfyebh\.php" /var/log/apache/access.log | less
TIP: El truco está en encontrar la IP, una vez encuentras la ip, haces búsquedas en tus logs de la ip del hacker que te ha atacado y con ellos puedes llegar a encontrar el truco que ha usado para hackear tu sitio web.
Esto es todo amigos, si necesitáis algún tipo de ayuda no dejéis de escribir unos comentarios.
Cada vez que creamos un nuevo Servidor Virtual nuestro sistema de creación replica el archivo que encuentra en /etc/php.ini, por eso lo que hacemos es editarla al crear el servidor y asi usaremos los mismos parámetros bases para todos los servidores virtuales que vamos añadiendo a cada Servidor Dedicado.
La seguridad es lo primero
Esconder la version de PHP en las cabeceras de las páginas servidas a nuestros usuarios maliciosos:
expose_php = Off
Output buffering – Error 502 Nginx
Deshabilitar output buffering, con esto deshabitamos el ob_flush(), esto evita errores tipo 502 en los servidores Nginx, sinceramente, es cuestión de gustos, si no hay buffer la experiencia del usuario se ve truncada a que termine de ejecutar un script hasta que muestra el resultado en pantalla, el caso más claro es cuando WordPress instala/actualiza los plugins y vamos viendo como se instala uno detrás de otro, con el buffering a Off solo veríamos el resultado final, el servidor retiene todo el contenido hasta que ha terminado todos los proceso que le require la carga de está página de WordPress, lo ideal es subir el limite por defecto que nos pone por defecto de 4096 bytes, pero si necesitamos recursos extras lo podemos subir a 16384 bytes.
output_buffering = Off
– or – output_buffering = 16384
Tiempo de ejecución de los Script
En nuestro caso, corremos bases de datos bastante grandes, hacemos backups y sincronización de datos, a veces los 30 segundos que nos da PHP por defecto nos viene corta, por eso la subimos a 120 segundos el tiempo de espera a que se ejecute un script en una página php.