Kategoria - PHP - liczba wpisów 46

Imagick->readImage error Kategoria: PHP | Autor: Bartłomiej Gałęzia

Poniższy skrypt:

$imagick = new Imagick();
$imagick->setResolution(150, 150);
$imagick->readImage($source_file . '[0]');
$imagick->writeImages($result_file, false);

Wywala błąd:

Fatal error: Uncaught ImagickException: FailedToExecuteCommand `'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r150x150' -dPrinted=false -dFirstPage=1 -dLastPage=1 '-sOutputFile=/tmp/magick-pyOYVsKi7i7SAXNMW5EtwPaRASHaOYu5%d' '-f/tmp/magick-cz6OETDf_gRuXDy_HbCTsBN12F0rxl6A' '-f/tmp/magick-i9pxxZG7729nyd99OG23sqQCQHf9iMH6'' (32512) @ error/ghostscript-private.h/ExecuteGhostscriptCommand/74

Rozwiązanie:

doinstalować ghostscript

 

Źródło: https://stackoverflow.com/questions/24298815/php-uncaught-exception-imagickexception-with-message-failedtoexecutecommand

Zenbox zgłoszenie [#DOPK-2931-RYJH] 

Problem:

PHP Warning: Cannot load module "http" because required module "raphf" is not loaded in Unknown on line 0

Rozwiązanie:

sudo apt install php-raphf

Źródło: https://askubuntu.com/questions/1386960/php-warning-cannot-load-module-http-because-required-module-raphf-is-not-lo

Przy próbie utworzenia symlinku na zenbox.pl lub przy próbie sprawdzenia czy plik istnieje (file_exists($file_path)) otrzymuję takie błędy:

Warning: realpath(): open_basedir restriction in effect. 
File(/home/mojekonto/domains/mojadomena.pl/public_html/system) 
is not within the allowed path(s): 
(/home/mojekonto/domains/mojadomena.stronazen.pl:/tmp:/var/tmp:/home/mojekonto/.tmp:/home/mojekonto/.php:/usr/local/php:/opt/alt:/etc/pki) in 
/home/mojekonto/domains/mojadomena.pl/public_html/index.php
Severity: Warning --> file_exists(): open_basedir restriction in effect.
File(https://blog.napraw.to/my_files/files/notes/445/plik_pdf.pdf) 
is not within the allowed path(s): 
(/home/mojekonto/domains/mojadomena.pl:/tmp:/var/tmp:/home/mojekonto/.tmp:/home/mojekonto/.php:/usr/local/php:/opt/alt:/etc/pki) 
/home/mojekonto/domains/mojadomena.pl/public_html/application/views/admin/docs/last_file_preview_view.php 13

Sam nie mogę nic z tym zrobić. Trzeba to zgłosić do supportu zenbox.pl aby wyłączyli zabezpieczenie open_basedir.

Poniżej odpowiedź od nich:

"... powodem problemu zgodnie z komunikatem błędu jest włączone zabezpieczenie open_basedir w obu domenach - aby symlink mógł działać koniecznie jest jego wyłączenie..."

"Czy ja jestem w stanie to zrobić samodzielnie?"

"Niestety nie, to się wykonuje na poziomie administracji serwerem."

Na serwerach cyberfolks.pl domyślnie działa połączenie przez IPv6 przez co nie da się pobierać plików z niektórych serwerów:

wget -c https://cdn1.midocean.com/image/700X700/mo9996-13.jpg
--2023-05-24 14:23:26-- https://cdn1.midocean.com/image/700X700/mo9996-13.jpg
Resolving cdn1.midocean.com (cdn1.midocean.com)... 2600:9000:26de:c000:14:1179:cb80:93a1, 2600:9000:26de:c00:14:1179:cb80:93a1, 2600:9000:26de:5200:14:1179:cb80:93a1, ...
Connecting to cdn1.midocean.com

Należy wymusić wówczas transmisję po IPv4:

wget --inet4-only  -c https://cdn1.midocean.com/image/700X700/mo9996-13.jpg

Jeśli korzystamy z pobierania przez file_get_contents() polecenie powinno wyglądać tak:

file_get_contents($image_url, false, stream_context_create(['socket' => ['bindto' => '0:0']]))

Źródło: https://twitter.com/McSodbrenner/status/773540936764821504

aptitude install php-cli php-mailparse

Wkhtmltopdf - header i footer Kategoria: PHP | Tagi: wkhtmltopdf | Autor: Bartłomiej Gałęzia

wkhtmltopdf --print-media-type --header-html header.html --footer-html footer.html https://google.pl/ google.pdf
$serverName = "serverName";
$connectionInfo = array( "Database"=>"DbName",
                         "UID"=>"UserName",
                         "PWD"=>"Password",
                         "Encrypt"=>true,
                         "TrustServerCertificate"=>true);
$conn = sqlsrv_connect( $serverName, $connectionInfo);

Źródło: https://stackoverflow.com/questions/14959492/connecting-to-mssql-from-php-securely-with-encryption

PHP - Connect to MSSQL database Kategoria: PHP | Tagi: codeigniter, mssql, php | Autor: Bartłomiej Gałęzia

add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install aptitude vim mc nmap curl apache2 php php-dev php-xml php-pear
apt-get install unixodbc-dev

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini

phpenmod -v 8.1 sqlsrv pdo_sqlsrv

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
sudo apt-get install -y unixodbc-dev

service apache2 restart



https://forum.codeigniter.com/thread-69740-post-350441.html

https://learn.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver16#installing-the-drivers-on-ubuntu-1604-for-php-70

https://learn.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?redirectedfrom=MSDN&view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16

Wkhtmltopdf - Page Break Kategoria: PHP | Tagi: wkhtmltopdf | Autor: Bartłomiej Gałęzia

HTML

<div class="new-page"></div>

CSS

@media print {
    .new-page {
        page-break-after: always;
    }
}

lub bezpośrednio w HTML

<div style="page-break-after: always;"></div>

Ważne!

Znacznik "new-page" nie może być wewnątrz znacznika <section> bo nie zadziała.

Czasami (np.: na serwerach CyberFolks) trzeba dodaj w komendzie --print-media-type

wkhtmltopdf --print-media-type http://domena.pl/file.html file_pdf.pdf

Przy próbie połączenia przez CURL z Cyber Folks do Zenbox pokazuje się błąd.

"Please wait while your request is being verified..."

"500 Internal Server Error openresty".

Trzeba to zgłosić do Zenboxa, żeby odblokowali IP serwera źródłowego na firewallu.

https://panel.zenbox.pl/index.php?m=pomoc&page=show-ticket&id=1098515

[#QJIV-9351-ECMM] - ticket z 2024.01.11 nr 1314686

Netbeans 13 - Line wrap Kategoria: PHP | Autor: Bartłomiej Gałęzia

Tools -> Options -> Editor -> Formatting

Language: All languages

Line wrap: Anywhere

[Apply]

Źródło: https://smallbusiness.chron.com/wrap-lines-netbeans-49331.html

$string = 'Abc def ghi';
if (strpos($string, 'def') !== false) {
     echo 'True';
} else {
     echo 'False';
}

Jquery upload error Kategoria: PHP | Autor: Bartłomiej Gałęzia

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Rozwiązanie:

wgraj nową wersję pliku UploadHandler.php i skasuj wszystkie foldery upload użytkowników.

Wkhtmltopdf div background color Kategoria: PHP | Autor: Bartłomiej Gałęzia

PHP - Zmiana wersja w CLI Kategoria: PHP | Autor: Bartłomiej Gałęzia

PHP - var_dump() to string Kategoria: PHP | Autor: Bartłomiej Gałęzia

ob_start();
var_dump($data);
$result = ob_get_clean();

Gmail - PHP IMAP Unlock Kategoria: PHP | Autor: Bartłomiej Gałęzia

Gmail nie pozwala na dostęp z "mniej bezpiecznych aplikacji" jaką jest php-imap.

Żeby zezwolić na ten dostęp należy:

1. Zalogować się na swoje konto - https://accounts.google.com

2. Zezwolić na dostęp mniej bezpiecznych aplikacji - https://myaccount.google.com/lesssecureapps

3. Zezwolić swojej aplikacji na dostęp do konta  - https://accounts.google.com/b/0/DisplayUnlockCaptcha

https://stackoverflow.com/questions/38047602/connection-error-can-not-authenticate-to-imap-server-alert-please-log-in-via

PHP - Redirect Kategoria: PHP | Tagi: php, redirect | Autor: Bartłomiej Gałęzia

<?php header('Location: http://google.pl/'); ?>

Wkhtmltopdf - Unwanted Scrollbars Kategoria: PHP | Tagi: wkhtmltopdf | Autor: Bartłomiej Gałęzia

Remove "table-responsive" class from your HTML.

<div class="box box-text table-responsive"> 
<div class="box-header text-center">
<h3 class="box-title">Zrealizowane zadania
</h3> 
</div>
$raw_string = preg_replace('/\n\r+/', ' ', $raw_string); // Replace one or multiple new lines with one space:`
$raw_string = preg_replace('/\s+/', ' ', $raw_string); // Replacing multiple spaces with a single space simple single line of php code:

https://escapequotes.net/php-remove-multiple-whitespaces/

Wyszukaj

Zapisz się do newsletera