Laravel Browsershot "node" not found - php

I got an error by using Browsershot in Laravel 8
(Laravel Code)
$content = view('welcome')->render();
return Browsershot::html($content)
->noSandbox()
->margins(18, 18, 24, 18)
->format('A4')
->showBackground()
->pdf(); }
Error
The command "node ^"C:^\xampp^\htdocs^\dashboard^\laravel8app^\vendor^\spatie^\browsershot^\src/../bin/browser.js^" ^"^{^\^"url^\^":^\^"file:^\/^\/C:^\^\Users^\^\User^\^\AppData^\^\Local^\^\Temp^\^\425041100-0302608001646305859^\^\index.html^\^",^\^"action^\^":^\^"pdf^\^",^\^"options^\^":^{^\^"args^\^":^[^\^"--no-sandbox^\^"^],^\^"viewport^\^":^{^\^"width^\^":800,^\^"height^\^":600^},^\^"displayHeaderFooter^\^":false,^\^"margin^\^":^{^\^"top^\^":^\^"18mm^\^",^\^"right^\^":^\^"18mm^\^",^\^"bottom^\^":^\^"24mm^\^",^\^"left^\^":^\^"18mm^\^"^},^\^"format^\^":^\^"A4^\^",^\^"printBackground^\^":true^}^}^"" failed. Exit Code: 1(General error) Working directory: C:\xampp\htdocs\dashboard\laravel8app\public Output: ================ Error Output: ================ Der Befehl "node" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

i fixed this with
->setNodeBinary('/usr/bin/node')

Related

I got a problem with WooCommerce and my own Code [closed]

Closed. This question is not written in English. It is not currently accepting answers.
Stack Overflow is an English-only site. The author must be able to communicate in English to understand and engage with any comments and/or answers their question receives. Don't translate this post for the author; machine translations can be inaccurate, and even human translations can alter the intended meaning of the post.
Closed 8 days ago.
Improve this question
I got some problems with my Code. after coding it, everytime i wanna change the stock, a error appears: Hallo!
Seit WordPress 5.2 gibt es eine eingebaute Funktion, die erkennt, wenn ein Plugin oder ein Theme einen fatalen Fehler auf deiner Website verursacht, und dich deswegen mit dieser automatisierten E-Mail benachrichtigt.
In diesem Fall hat WordPress einen Fehler in deinem Theme „Open Shop Pro“ abgefangen.
Besuche zunächst deine Website () und überprüfe sie auf sichtbare Probleme. Besuche als nächstes die Seite, auf der der Fehler aufgetreten ist (.../wp-admin/post.php) und prüfe, ob es sichtbare Probleme gibt.
Bitte kontaktiere dein Hosting-Unternehmen, um Unterstützung bei der weiteren Untersuchung dieses Problems zu erhalten.
Wenn deine Website fehlerhaft zu sein scheint und du nicht mehr wie gewohnt auf dein Dashboard zugreifen kannst, hat WordPress jetzt einen speziellen „Wiederherstellungsmodus“. Auf diese Weise kannst du dich sicher in deinem Dashboard anmelden und weitere Untersuchungen durchführen.
Um deine Website zu schützen, läuft dieser Link in 1 Tag ab. Aber keine Sorge: Ein neuer Link wird dir per E-Mail zugeschickt, wenn der Fehler nach Ablauf der Frist erneut auftritt.
Wenn du Hilfe bei diesem Problem suchst, wirst du möglicherweise nach einigen der folgenden Informationen gefragt:
WordPress-Version 6.1.1
Aktives Theme: Open Shop Pro (Version 1.7.0)
Aktuelles Plugin: (Version )
PHP-Version 7.4.33
Fehler-Details
Ein Fehler vom Typ E_ERROR wurde in der Zeile 494 der Datei /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/themes/openshop-pro/functions.php verursacht. Fehlermeldung: Uncaught Error: Call to a member function is_in_stock() on null in /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/themes/openshop-pro/functions.php:494
Stack trace:
#0 /www/htdocs/w01aa47b/[domain deleted by me]/wp-includes/class-wp-hook.php(310): stock_catalog(Array)
#1 /www/htdocs/w01aa47b/[domain deleted by me]/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array)
#2 /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php(2098): apply_filters('woocommerce_get...', Array, Object(WC_Product_Variation))
#3 /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/plugins/woocommerce/includes/wc-template-functions.php(3543): WC_Product->get_availability()
#4 /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php(367): wc_get_stock_html(Object(WC_Product_Variation))
#5 /www/htdocs/w01aa47b/[domain deleted by me]/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php(312): WC_Produc
I deactivated my code and it then the error did not came back. Can anyone help me / explain me why that happens? Would be awesome :)
The Code that is doing the problem is following:
`function stock_catalog() {
global $product;
if ($product->is_in_stock()&& !has_term(array('Basiskurs', 'Cupcake Kurs','Drip Cake Kurs', 'Fault Line Cake Kurs','Feriencamp','Figuren Modellierkurs','Ganache Motivtorten Kurs','Kindergeburtstag','Pinselmalerei mit Wafer Paper Blumen','Royal Icing Cookie Kurs' ), 'product_cat')) {
echo '<font color="#20bf6b"><div class="stock margin-top-10 margin-bottom-25"> ' . __('Verfügbar', 'text-domain') . '<i class="fa fa-check"></i> '. '</div></font>';
}
if ($product->is_in_stock()&& has_term(array('Basiskurs', 'Cupcake Kurs','Drip Cake Kurs', 'Fault Line Cake Kurs','Feriencamp','Figuren Modellierkurs','Ganache Motivtorten Kurs','Kindergeburtstag','Pinselmalerei mit Wafer Paper Blumen','Royal Icing Cookie Kurs' ), 'product_cat')) {
echo '<font color="#20bf6b"><div class="stock margin-top-10 margin-bottom-25"> ' .number_format($product->stock, 0, '', '') . __(' Verfügbar', 'text-domain') . '<i class="fa fa-check"></i> '.'</div></font>';
}
if (! $product->is_in_stock() ) {
echo '<font color="#eb3b5a"><div class="out-of-stock margin-top-10 margin-bottom-25"> ' . __('Nicht verfügbar', 'text-domain') . '<i class="fa fa-times"></i> ' . '</div></font>';
}
}
add_action('woocommerce_get_availability', 'stock_catalog');
add_action('woocommerce_after_shop_loop_item_title', 'stock_catalog');`

German characters in TCPDF - PHP [duplicate]

This question already has answers here:
TCPDF UTF-8 symbols not showing up
(16 answers)
utf8_encode function purpose
(4 answers)
Closed 1 year ago.
I cannot see German characters correctly in the generated pdf. Here is my code:
<?php
// Load autoloader (using Composer)
require __DIR__ . '/vendor/autoload.php';
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetPrintHeader(false);
$pdf->AddPage();
// create some HTML content
$html = '<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Die angeführten Preise sind Fixpreise für eine schlüsselfertige Ausführung gemäß Leistungsbeschreibung und Ausstattungsliste
und gelten bei einem Vertragsabschluss bis 31.12.2021.<br/>
Die m²-Angaben sind Cirka-Maße. Geringfügige Abweichungen sind möglich und auf Grundrissvarianten oder technische
Änderungen, behördliche Vorschriften etc. zurückzuführen.<br/>
In den oben genannten Preisen sind sämtliche in vorliegender Preisliste angeführten Kaufnebenkosten (mit Ausnahme der
Beglaubigungskosten und Barauslagen im Zusammenhang mit der Eintragung im Grundbuch) enthalten, der Verkauf erfolgt
provisionsfrei direkt vom Bauträger. Kosten im Zusammenhang mit der Finanzierung (insbesondere auch Kosten für die
Bankgarantie) sind von der Käuferseite zu tragen.
</body>
</html>';
$pdf->writeHTML(utf8_encode($html), true, false, true, false, '');
$pdf->lastPage();
$lastPage = $pdf->getPage();
$pdf->Output('generated.pdf', 'I');
And that's how it looks:
Looks all good on html though
just changed
$pdf->writeHTML(utf8_encode($html), true, false, true, false, '');
to
$pdf->writeHTML(($html), true, false, true, false, '');
and it worked!
You need to change the constructor, Set UTF-8 false and change new charset like below:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false)
In above example, I set encoding ISO-8859-1 instead of UTF-8 and I change true to false.
header('Content-type: text/html; charset=utf-8');
in addition to be really sure the browser understands, add a meta-tag:

Convert spaces, umlauts and special character letters for link

How can I make the browser accept the letters umlauts and spaces without decoding?
$str = 'Häuser & Hühner können nicht „Hallo“ sagen!';
$strent = htmlentities($str);
$strurl = rawurlencode($str);
echo ''.$str.'';
echo ''.$str.'';
unexpected output
Häuser & Hühner können nicht „Hallo“ sagen!
Häuser & Hühner können nicht „Hallo“ sagen!
expected ouput
Häuser & Hühner können nicht „Hallo“ sagen!
Current working result
$str = 'Häuser & Hühner können nicht „Hallo“ sagen!';
$strurl = rawurlencode($str);
echo ''.$str.'';
Häuser & Hühner können nicht „Hallo“ sagen!

Regex Double Quotes and html tags

I read data from csv file. And wrote it to string and now need to classify those data.
if (($handle = fopen($_FILES['app_bundle_upload_type']['tmp_name']['file'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
$result.= $data[$c] . "<br />\n";
}
}
}
How Can I correctly use Regex to group this sort od data. I do care about everything inside " ". I tried regex = '/"(.*?)"/s'; But can't escape double quotes inside other quotes. What shall I do ? And ofc there's this whole html data which I do not have right now what to do.
That is my string
1;"admin_loginIncorrect";"Podane hasło jest nieprawidłowe";"1";"0"
2;"admin_logOut";"Wyloguj";"1";"0"
3786;"tutorial_text_3";"Wenn Sie
ein Produkt kaufen möchten dessen Preis Sie soeben aufgedeckt haben
tun Sie es schnell und klicken Sie auf ""kaufen"" - Sie haben dafür
20 Sekunden. Sie können aber eine Stunde oder einen Tag warten um zu
sehen ob der Preis noch weiter fällt. Das Aufdecken des Preises von
anderen Benutzern reduziert den Preis kontinuierlich weiter. Denken
Sie jedoch daran dass wenn Sie zu lange warten jemand wird schneller
sein als Sie!. ;5";"0" 3914;"auction_desc_22297";"MacBook 12" 256GB - Space Gray256 GB pamięci masowej flash z magistralą PCIe
na płycie głównejDwurdzeniowy procesorIntel Core
m3 1,1 GHzTurbo Boost do 2,2 GHz8 GB pamięci
RAMIntel HD Graphics 515Zawartość
opakowaniaMacBookZasilacz USB-C o mocy 29 WPrzewód zasilający USB-C (2 m)Cena zawiera koszt przesyłki."'"5";"0"
#EDIT
I started in wrong way. Using regex was to complex task. Thanks to fgetcsv i could do it a lot easier
if (($handle = fopen($fileName, "r")) !== FALSE) {
while (($data = fgetcsv($handle)) !== FALSE) { .... }}
It reads row by row and give it back in array
$data[$i]
Try this:
<?php
$string = '1;"admin_loginIncorrect";"Podane hasło jest nieprawidłowe";"1";"0" 2;"admin_logOut";"Wyloguj";"1";"0" 3786;"tutorial_text_3";"Wenn Sie ein Produkt kaufen möchten dessen Preis Sie soeben aufgedeckt haben tun Sie es schnell und klicken Sie auf ""kaufen"" - Sie haben dafür 20 Sekunden. Sie können aber eine Stunde oder einen Tag warten um zu sehen ob der Preis noch weiter fällt. Das Aufdecken des Preises von anderen Benutzern reduziert den Preis kontinuierlich weiter. Denken Sie jedoch daran dass wenn Sie zu lange warten jemand wird schneller sein als Sie!. ;5";"0" 3914;"auction_desc_22297";"MacBook 12" 256GB - Space Gray
256 GB pamięci masowej flash z magistralą PCIe na płycie głównejDwurdzeniowy procesorIntel Core m3 1,1 GHzTurbo Boost do 2,2 GHz8 GB pamięci RAMIntel HD Graphics 515
Zawartość opakowaniaMacBookZasilacz USB-C o mocy 29 WPrzewód zasilający USB-C (2 m)
Cena zawiera koszt przesyłki."\'"5";"0"';
$regex = '#"(?<quotes>[^"]*)"#';
preg_match_all($regex, $string, $matches);
var_dump($matches['quotes']);
See it here : https://3v4l.org/8Z8J5

PHP SOAP SSL problems

I'm trying to connect to a secure SOAP server using NuSOAP. (I gave the built-in SOAP library a chance, but that was behaving strangely, so I switched to NuSOAP.)
Here's my code:
require('application/libraries/nusoap/nusoap.php');
$soap = new nusoap_client('https://ws.firstdataglobalgateway.com/fdggwsapi/services/order.wsdl', 'wsdl');
$soap->setCredentials('WS'.STORE_NUMBER.'._.1',
PASSWORD,
'certificate',
array(
'sslcertfile' => 'first_data/cert.pem',
'sslkeyfile' => 'first_data/key.pem',
'passphrase' => KEY_PASSPHRASE
)
);
if($err = $soap->getError()) {
die('Error: '.$err);
}
$result = $soap->call('fdggwsapi:FDGGWSApiOrderRequest', array('v1:Transaction' => '1'));
if($soap->fault) {
echo 'Fault! <pre>';
var_dump($result);
echo '</pre>';
} else {
if($err = $soap->getError()) {
die('Error: '.$err);
} else {
echo '<pre>';
var_dump($result);
die('</pre>');
}
}
I get the following error:
Error: wsdl error: Getting https://ws.firstdataglobalgateway.com/fdggwsapi/services/order.wsdl - HTTP ERROR: cURL ERROR: 56: SSL read: error:1409441B:SSL routines:SSL3_READ_BYTES:tlsv1 alert decrypt error, errno 0
url: https://ws.firstdataglobalgateway.com:443/fdggwsapi/services/order.wsdl
content_type:
http_code: 0
header_size: 0
request_size: 163
filetime: -1
ssl_verify_result: 0
redirect_count: 0
total_time: 0.531131
namelookup_time: 0.00121
connect_time: 0.070608
pretransfer_time: 0.305044
size_upload: 0
size_download: 0
speed_download: 0
speed_upload: 0
download_content_length: -1
upload_content_length: 0
starttransfer_time: 0
redirect_time: 0
What could be the possible problems? How could I debug this? I'm rather out of my league here.
Based on the error:
SSL read: error:1409441B:SSL routines:SSL3_READ_BYTES:tlsv1 alert
decrypt error, errno 0
It looks to me like the PHP library is having trouble reading your cert.pem and key.pem files. These files can come in different formats. Apache requires that these be in PKCS12 format and I would guess PHP is the same. You can use a tool called "Keystore Explorer 4.0.1" to verify and convert if necessary.
You can verify the validity of the format of the keys also, using openssl and this command:
C:\Temp> openssl pkcs12 -info -in ksb_cert.p12
With this settings my client working finally
$client = new nusoap_client($wsdlurl,'wdsl');
$client->setUseCURL(true);
$client->useHTTPPersistentConnection();
$client->setCurlOption(CURLOPT_SSL_VERIFYHOST, 0);
$client->setCurlOption(CURLOPT_SSL_VERIFYPEER, 0);
$client->setCurlOption(CURLOPT_RETURNTRANSFER, 1);
$client->setCurlOption(CURLOPT_SSLVERSION,3);

Categories