Depanare
Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Debian 11 până la 12
Când utilizați ISPConfig, în mod implicit, aveți doar versiunea principală PHP pentru distribuția dvs. Acest ghid vă va ghida prin instalarea versiunilor PHP suplimentare (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3 și 8.4) pe un server Debian cu ISPConfig.
După instalarea versiunilor suplimentare, le puteți selecta pentru a fi utilizate pe anumite site-uri web atât în modul PHP-FPM, cât și în modul FastCGI. În acest ghid, veți adăuga SURY repository repository suplimentar pentru a instala pachetele PHP din cu apt. Deoarece și alte pachete precum OpenSSL sunt actualizate, pachetele instalate de pe sury.org nu pot fi pur și simplu eliminate după instalare. Deci, nu eliminați SURY ca sursă de depozit mai târziu.
2 Adăugați repository SURY
Mai întâi instalați aceste pachete necesare:
apt-get install -y apt-transport-https lsb-release ca-certificates
Acum adăugați cheia de depozit rulând această comandă:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1
și depozitul în sine:
echo "deb https://packages.sury.org/php/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/php.list
Acum actualizați lista de pachete:
apt-get update
Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:
apt-get upgrade
3 Instalați versiuni suplimentare PHP
Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie.
3.1 Instalați PHP 5.6
Pentru a instala PHP folosiți această comandă:
apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-recode php5.6-5sqlite-php5.6 php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml
3.2 Instalați PHP 7.0
Pentru a instala PHP folosiți această comandă:
apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-recode php7. php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml
3.3 Instalați PHP 7.1
Pentru a instala PHP folosiți această comandă:
apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-recode php7.1-7sqlite php7. php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml
3.4 Instalați PHP 7.2
Pentru a instala PHP folosiți această comandă:
apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-recode php7. php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml
3.5 Instalați PHP 7.3
Pentru a instala PHP folosiți această comandă:
apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-7sqlite php7. php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml
3.6 Instalați PHP 7.4
Pentru a instala PHP 7.4 utilizați această comandă:
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite-tidy php7.4-sqlite-tix php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml
3.7 Instalați PHP 8.0
Pentru a instala PHP 8.0 utilizați această comandă:
apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite-tixl php8.0-sqlite-tixl. php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml
3.8 Instalați PHP 8.1
Pentru a instala PHP 8.1 utilizați această comandă:
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite-pspell php8.1-sqlite-dyx php8. php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml
3.9 Instalați PHP 8.2
Pentru a instala PHP 8.2 utilizați această comandă:
apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite-pspell php8.2-sqlite-dyxl. php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml
3.10 Instalați PHP 8.3
Pentru a instala PHP 8.3 utilizați această comandă:
apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite-tixl. php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache libonig5 php8.3-common php8.3-readline php8.3-xml
3.11 Instalați PHP 8.4
Pentru a instala PHP 8.4 utilizați această comandă:
apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite-tixl php8.4-sqlite-tixl. php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache libonig5 php8.4-common php8.4-readline php8.4-xml
4 Setați PHP implicit OS la versiunea corectă
PHP implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, rulați aceste comenzi una câte una:
update-alternatives --config php update-alternatives --config php-cgi update-alternatives --config php-fpm.sock
Pe Debian 12, alegeți 8.2; pe Debian 11, alegeți 7.4; pe Debian 10, alegeți 7.3.
5 Adăugați versiuni PHP la ISPConfig
În ISPConfig 3, puteți configura noile versiuni PHP în Sistem > Versiuni PHP suplimentare > Adăugați o versiune PHP nouă .
Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care vă aflați:
Debian 10: PHP 7.3
Debian 11: PHP 7.4
Debian 12: PHP 8.2
Vedeți mai jos configurația pentru versiunea dvs.
PHP 5.6
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi5.6 Calea către directorul php.ini: /etc/php/5.6/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php5.6-fpm Calea către directorul php.ini: /etc/php/5.6/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/5.6/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php5.6
PHP 7.0
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.0 Calea către directorul php.ini: /etc/php/7.0/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php7.0-fpm Calea către directorul php.ini: /etc/php/7.0/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/7.0/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php7.0
PHP 7.1
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.1 Calea către directorul php.ini: /etc/php/7.1/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php7.1-fpm Calea către directorul php.ini: /etc/php/7.1/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/7.1/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php7.1
PHP 7.2
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.2 Calea către directorul php.ini: /etc/php/7.2/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php7.2-fpm Calea către directorul php.ini: /etc/php/7.2/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/7.2/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php7.2
PHP 7.3
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.3 Calea către directorul php.ini: /etc/php/7.3/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php7.3-fpm Calea către directorul php.ini: /etc/php/7.3/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/7.3/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php7.3
PHP 7.4
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.4 Calea către directorul php.ini: /etc/php/7.4/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php7.4-fpm Calea către directorul php.ini: /etc/php/7.4/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/7.4/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php7.4
PHP 8.0
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.0 Calea către directorul php.ini: /etc/php/8.0/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php8.0-fpm Calea către directorul php.ini: /etc/php/8.0/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/8.0/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php8.0
PHP 8.1
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.1 Calea către directorul php.ini: /etc/php/8.1/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php8.1-fpm Calea către directorul php.ini: /etc/php/8.1/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/8.1/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php8.1
PHP 8.2
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.2 Calea către directorul php.ini: /etc/php/8.2/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php8.2-fpm Calea către directorul php.ini: /etc/php/8.2/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/8.2/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php8.2
PHP 8.3
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.3 Calea către directorul php.ini: /etc/php/8.3/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php8.3-fpm Calea către directorul php.ini: /etc/php/8.3/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/8.3/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php8.3
PHP 8.4
Setări Fast-CGI:
Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.4 Calea către directorul php.ini: /etc/php/8.4/cgi/
Setări PHP-FPM:
Calea către scriptul de pornire PHP-FPM: php8.4-fpm Calea către directorul php.ini: /etc/php/8.4/fpm/ Calea către directorul pool-ului PHP-FPM: /etc/php/8.4/fpm/pool.d/
Versiunea cli pentru, de exemplu, joburi cron are numele php8.4
[mai mult...]Configuring a USB mouse/peripheral with proprietary software without direct installation of its software
For various reasons we may find ourselves in a situation where we do not want to install the proprietary software provided by the manufacturers of the USB devices in use, since usually these can negatively impact the behavior of the operating system or cannot be completely uninstalled. Fortunately VMWare comes to our aid with a solution, as their application can “forward” complete control over a USB device to the guest machine so that we can configure it.
To implement the solution we will assume that we have a virtual machine with windows already installed.
Interogarea si compunerea informatiilor din winver folosind windows powershell
Instrumentul winver ne arata licenta de windows folosita, versiunea sistemului de operare impreuna cu utilizatorul si organizatia catre care a fost licentiat produsul; daca dorim sa preluam aceste informatii in format text (deoarece nu se pot copia informatiile din fereastra generata de winver), putem utiliza powershell (ca administrator) in acest sens.
[mai mult...]Bottlenecking Guide
On the surface, a bottleneck is an imbalance or limitation of hardware. For example if you have a really strong graphics card but not a strong processor, then the processor could be spending too much time working on game logic to get around sending render commands to the GPU. A tale tale sign is you’re running an application and it’s not performing as fast as it could be.
Though “as fast as it could be” is kind of hard to objectively say so. If you’re playing a game, for instance, and you want to make sure the video card is working as fast as it can, you can check benchmarks of that video card against the game you’re playing from review sites. Usually they run on the top-end hardware, lowering the potential of a bottleneck.
Bottleneck issues usually show themselves in mainly two ways
- The average performance isn’t as good as it should be
- The frame rate isn’t consistent most of the time
- Tools of the trade to figure out bottlenecks
GPU-z (https://www.techpowerup.com/gpuz/): This is useful for obtaining information about what’s going on in the GPU including clock speed, GPU load, and for some GPUs a performance cap reason. GPU-z also allows you to log data.
Task Manager: You can check out CPU load, system RAM usage, and tweak how many threads the application can use to further test. As of Windows 10 Fall Creator’s Update (1709), Task Manager includes a GPU usage section that can work as a substitute for GPU-z, although it’s less informative.
Performance Monitor (https://technet.microsoft.com/en-us/library/cc749249(v=ws.11).aspx): This is a tool built-in Windows that you can use to log data. I usually use this to log CPU usage since you can’t do this in Task Manager
FRAPS (http://www.fraps.com/): While it’s primary use is to monitor frame rate performance, it can also log frame times which can be useful for determining where performance drops.
- The kinds of bottlenecking
Since bottlenecks are usually the result of some issue with hardware, let’s go over the various root causes. If you suspect you’re having a bottleneck issue, consider the application you’re running or the hardware setup you have to determine the root cause.
- Maximum CPU loading
Symptom: All of the processor’s logical cores (or “threads”) are maxed out at 100%.
How to verify: Reducing the application’s processor affinity causes performance to tank linearly. i.e., If the application is maxing out 4 cores, disabling 1 reduces performance by about 25%.
How to fix: Upgrade the processor to something with more cores. While overclocking can help, it will not offer a lot of wiggle room.
Description: This is caused by the application needing so much of the processor’s time that it cannot send render commands to the GPU fast enough. For the most part, games will typically only process logic every so often on a fixed timer and logic often goes before graphics. So if the processor spends too much time processing the game logic, it doesn’t have enough time generating render commands. An example of this can be seen back in the days of 8-bit consoles. When too much action is going on the screen, the game slows down as the CPU needs more cycles to process logic before it can get to sending rendering commands.
Reliance on single core performance
Symptom: Either a few logical cores have high usage or the entire processor appears busy, but appears to flat line at a certain percentage.
How to verify: Reducing the application’s processor affinity does not cause performance to tank unless you really reduce the affinity. e.g., if the total processor load on say an 8 thread processor is only 60%, disabling one core does not affect performance at all.
How to fix: Increase the single core performance by either changing the processor with a higher IPC or increase the clock speed of the current processor
Description: This is caused by applications that cannot issue enough threads of work on average to saturate the processor. As a result, the processor can easily finish up the work but has to wait for the application to issue more threads. This can be caused by many things, usually due to over-reliance on synchronous software design.
Accessing storage
Symptom: Performance hiccups or outright drops for a few moments when moving around in the game’s environment. This is normally a problem in open-world games
How to verify: Go to different areas of the game, but do not backtrack (those areas are often left in RAM, so they load “instantly”). If you have a hard drive, you can hear it working while you play the game.
How to fix: This is most likely going to be an issue with the game being on slower storage media like hard drives. The easiest solution is to upgrade the storage to an SSD. If that’s not feasible, then defragging and having the defragger consolidate data should help. Windows’ built-in defragmenter should consolidate data.
Description: This is caused by the application needing something, but it hasn’t loaded it yet so it has to go to storage to retrieve it.
VRAM/RAM loading
Symptom: Performance starts off fine, but at some point it starts to stutter.
How to verify: Check if the VRAM/RAM usage is close to 100%
How to fix: For VRAM, lower resolution based settings (texture, shadow, screen) or turn off MSAA. For system RAM, get more RAM or close applications that you’re not using.
Description: Applications aren’t aware of how much actual RAM there is in the system, only the OS. As a result, when the application starts requesting more RAM and no more physical RAM is available, the OS starts evicting data from RAM onto storage. This takes a very long time in computer time and normally the application can’t do anything else while this is happening, causing hiccups.
[mai mult...]Cum eliberați (resetați) portul COM în uz în Windows
Atunci când conectați un nou dispozitiv COM, USB sau Bluetooth la computer, Windows atribuie dispozitivului primul număr de port COM liber disponibil de la 1 la 256 (COM1, COM2, COM3 etc.).
Chiar și după deconectarea dispozitivului, numărul de port COM atribuit nu este eliberat și rămâne rezervat pentru dispozitiv (Windows îl afișează ca fiind „în uz”). Unele aplicații moștenite pot utiliza numai numere mici de port COM de la 1 la 9. Pentru ca o astfel de aplicație și un dispozitiv să funcționeze corect, trebuie să modificați numărul portului COM atribuit sau să eliberați complet porturile COM rezervate utilizate de alte aplicații.
[mai mult...]