Blog para informáticos

Funciones PHP

nombresintaxisejemplocomentarios
date()date(formato)date(‘l’)sale: Monday, Tuesday…
$GLOBALSarray de todas las variables localestodas las funciones glonbales php y definidas como globales
implode()implode(‘elemento separador’, $array)junta un array como una cadena unica
explode()explode( ‘elemento separado, $array’)separa un array como una cadena separada

Truco para GIT

¿Cuantas veces has escrito?:

git add .
git commit -m "_comentario_"
git push origin master

a todo correr o a veces ni hacerlo por miedo a equivocarte.

Lo que propongo que no te vuelvas más loco.

escribiendo:

C.sh comentario a añadir tal como esta con espacios y "sin mas problemas"

1º Entras al bloc de notas y añades lo siguiente:

#!/bin/bash
clear
echo Realiza un comentario y lo sube al master remoto.

git add .
git commit -m "$*"
git push origin master

2º lo guardas con el nombre C.sh en el escritorio por ejemplo

3º Copias este archivo a la carpeta C:\WINDOWS

4º Probarlo

Entra con el Gitbash como siempre a una carpeta que ya tengas iniciada, es decir a un proyecto que tengas de ejemplo. Con ello ejecuta este comando:

C.sh Esto es un commit local que se sube al master remoto

he puesto la C.sh la letra C en mayúsculas para darnos cuenta que estamos ejecutando un script de Linux, se puede añadir una ruta nuestra donde tengamos nuestros archivos .sh .bat .cmd .exe .com si entráis al Panel de control –> sistema->propiedades de sistema –>variable de entorno->segundo bloque modificar path

Os aseguro que esta chorrada os ahorrará mucho tiempo.

Instalar y desinstalar en Ubuntu con terminal

lo primero es entrar con permisos de administrador, ejecutamos el siguiente comando, pedirá la contraseña de administrador que es la contraseña con la que iniciamos el usuario actual.

sudo su

guardamos los paquetes que actualmente tenemos instalados en un archivo de texto ejecutando:

apt list > paquetes.txt

Ahora procedemos a instalar lo que necesitemos:

apt install paquete_a_instalar

Creamos un archivo de paquetes instalados y lo comparamos con el anterior:

apt list > paquetes_new.txt
diff paquetes.txt paquetes_new.txt > nombre_paquete.txt
nano nombre_paquete.txt

Saldrá algo similar a esto:

3711a3712
> cvs-mail/bionic 1.19-2.2 all
5411a5413
> enca/bionic 1.21-1 amd63

Debemos de borrar lo que hay en el renglon encima del caracter > e incluido ese caracter, quedando así:

cvs-mail/bionic 1.19-2.2 all
enca/bionic 1.21-1 amd63

Esos paquetes se instalarón al añadir la aplicación que necesitamos es decir que si quieres borrar la aplicación añadidad tienes que desinstalar los paquetes que se enumeran en ese archivo.

Aunque no instales nada si es bueno cada vez que actualices el sistema operativo realizar este ejercicio como registro de tus actualizaciones del sistema operativo guardando en vez de el nombre del paquete la fecha en la que relizas la actualización, es una buena forma de revertir cambios.

Ahora pasamos al comando de desinstalación de un paquete que no es más que, para si esta en memoria residente, y después aunque tengamos la información de paquetes instalados listamos los paquetes que instaló esa aplicación para asegurarnos y luego los desinstalamos.

dpkg -l | grep aplicacion_instalada
apt purge repositorio1 repositorio2 repositorio 3
apt remove
find /. -iname aplicacion*
whereis aplicacion

En el los dos últimos comandos saldrán los archivos y carpetas que quedaron en el sistema, borrar con el comando rm -Rf ruta_carpeta1 ruta_carpeta2 ruta_carpeta3 … pero hazlo con cuidado sin cargarte carpetas importantes del sistema.

No funciona mysqli ubuntu

Ejecutamos los siguientes comandos:

sudo su
apt-get install php-mysql mysql-client
nano /etc/php/7.3/apache2/php.ini

Añadimos al final (pudes pulsar Ctrl+fin):

extension=mysqli
extension=/usr/lib/php/20180731/mysqli.so

Ejecutamos para reiniciar apache2 y mysql

./etc/init.d/apache2 restart
./etc/init.d/mysql restart

Aun así este sistema para conexión y consultas esta ya dejando estar en desuso, lo último que se utiliza es la clase PDO

más información en : https://www.php.net/manual/es/book.pdo.php

Instalar Apache y MySQL en una máquina virtual Ubuntu server 19.04

Instalar Apache y MySQL en una máquina virtual Ubuntu server 19.04

1º Instalar Oracle VM VirtualBox 6.0.10.  https://www.virtualbox.org/wiki/Downloads

2º Descargarse la iso de  Ubuntu Server 19.04. https://ubuntu.com/download/server

3º Crear una máquina vacía en Virtual Box con el nombre Ubuntu server con los valores que da el asistente,

  • una vez creado el icono para acceder a la máquina, cambiar de entrando a la configuración el apartado de REDàconectado a : adapatador puente àAceptar
  • Iniciar con el archivo iso de Ubuntu descargado. (cuando llegue a la parte del idioma poner Español, y en identificar teclado dar a la primera tecla de las que pide), rellenar el formulario. àmarcar install openSSD server->cuando termine de instalar reboot.

4º Una vez instalada poner el usuario que metiste en el formulario dar al enter y luego la contraseña y dar al enter.

-IMPORTANTE ANOTAR LA IP:

Saldrá algo así IP address for enp0s3: 192.168.1.144

(además tiene que salir con ese prefijo de 192.16… y no el de 10.0….)

Ejecutar este comando para actualizar el sistema:

sudo apt-get update && sudo apt-get upgrade

(pedirá de nuevo la contraseña antes de ejecutarse)

(a lo que pregunte poner la letra S y enter)

Apagamos el sistema con el comando

 sudo poweroff.

5º Encender la máquina al iniciar el ordenador.

  1. entra al Bloc de notas, ejecutándolo como administrador.
  2. Pegar esta línea

“%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe” startvm “ubuntu server” –type headless

Atención donde pone ubuntu server hay que asegurarse que se ha nombrado así la máquina virtual, si no, no se iniciará. (se inicia sin pantalla para acceder luego nosotros desde una ventana de terminal de ms-dos para poder copiar y pegar comandos, de una manera sencilla)

  • Lo guardamos en C:\Users\_tu_usuario_\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup  , tipo de archivo: Todos los archivos *.* y le ponemos el nombre mv.bat

6º Reiniciar el ordenador.

7º Abrimos un terminal de ms-dos (símbolo de sistema ) ejecutamos:

ssh  usuario_creado@192.168.1.144

escribimos yes y se da al enter

ponemos nuestra contraseña.

La ventaja que tiene esta ventana que podemos copiar y pegar ordenes, en la de la máquina ya no la usaremos y siempre para cualquier cosa utilizaremos este paso 8º.

Instalar Apache2

1º ejecutamos este comando para entrar en modo administrador.

sudo su

se pone la contraseña.

2º Ir ejecutando estas líneas, responder a lo que pregunte con “s” u “y” según corresponda.

apt update && apt upgrade

apt install apache2

ufw allow ‘OpenSSH’

ufw allow ‘Apache’

ufw allow mysql

ufw enable

add-apt-repository ppa:ondrej/php

apt update&& apt upgrade

apt install php7.3

apt install php7.3-fpm

reboot

esperar unos 3 minutos para que se reinicie el sistema.

3º Activar ver errores de php.

Desde un terminal ms-dos

ssh usuario@192.168.1.144

ejecutamos

sudo su

una vez dentro editamos el archivo de configuración de php.

nano -l /etc/php/7.3/apache2/php.ini

en la línea 479 cambiamos el off por el on

Ctrl + S , Ctrl + X

apt-get install php7.3-xdebug

nano -l /etc/php/7.3/apache2/php.ini

se añade al final (Ctrl+fin para llegar más rápido):

; Added for xdebug

zend_extension=”/usr/lib/php5/20180731/xdebug.so”

xdebug.remote_enable=1

xdebug.remote_handler=dbgp xdebug.remote_mode=req

xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000

Ctrl+S , Ctrl+X

systemctl restart apache2

4º probar si funciona generando un arhivo:

nano /var/www/html/i.php

escribimos dentro:

<?= phpinfo()?>

Pulsamos Ctrl+S y Ctrl+X

5º En el navegador de Windows pegamos esta dirección:

192.168.1.144/i.php (recuarda que debes utilizar tu ip y no literalmente la que pone aquí)

Saldrá algo así PHP Version 7.3.7-1

Configurar Mysql.

sudo su

apt update && apt upgrade

apt-get install mysql-server

mysql_secure_installation

repondemos: n , contraseña , contraseña ,  n , n , n , y

mysql -u root -p

CREATE USER ‘luis’@’%’ IDENTIFIED BY ‘hola’;

GRANT ALL PRIVILEGES ON * . * TO ‘luis’@’%’;

            Donde pone luis puedes poner tu nombre y donde pone hola tu contraseña

FLUSH PRIVILEGES;

nano /etc/mysql/mysql.conf.d/mysqld.cnf

      buscar

 bind-address            = 127.0.0.1

poner delante # quedaría así:

#bind-address            = 127.0.0.1

Ctrl+S , Ctrl + X

/etc/init.d/mysql restart

Poner una Ip fija al servidor

1º Etitamos el archivo

sudo nano /etc/netplan/50-cloud-init.yaml

puedes descargar un ejemplo de archivo en https://www.gestionesinformaticas.com/archivosconfiguracion/

poniendo nuestro prefijo de ip, y sabiendo que la ip no esta dentro del rango dhcp del router o servidor ponerlo así:

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
dhcp6: no
addresses: [192.168.1.50/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1,8.8.8.8]

sudo netplan apply