[PHP 7.0.5]použití dibi 3.0.2

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Václav M. 24. 5. 2016 22:23

Měl jsem staženou dibi 2.1.1 - a ta fungovala, dokud jsem XAMPP nevyměnil za novější, s verzí PHP 7.0.5 (protože v této verzi PHP již není fce set_magic_quotes_runtime).

Stáhl jsem si novou verzi dibi, 3.0.2. Jenže mi hlásí
Kód: Vybrat vše
Fatal error:   in phar://H:/WWW/CMS-VMaX-Kasandra3/dibi/dibi.phar/Dibi/Drivers/MySqliDriver.php on line 22


Z toho tedy nevím vůbec nic. A XDebug musím nějak doinstalovat ručně, protože v XAMPPu, který mám úplně chybí.
Václav M.
Junior
Uživatelský avatar

Odeslat příspěvekod Krakatoa 24. 5. 2016 22:51

Začátek MySqliDriver.php v dibi 3.0.2:

Kód: Vybrat vše
<?php

/**
* This file is part of the "dibi" - smart database abstraction layer.
* Copyright (c) 2005 David Grudl (https://davidgrudl.com)
*/

namespace Dibi\Drivers;

use Dibi;


/**
* The dibi driver for MySQL database via improved extension.
*
* Driver options:
*   - host => the MySQL server host name
*   - port (int) => the port number to attempt to connect to the MySQL server
*   - socket => the socket or named pipe
*   - username (or user)
*   - password (or pass)
*   - database => the database name to select
*   - options (array) => array of driver specific constants (MYSQLI_*) and values {@see mysqli_options}
*   - flags (int) => driver specific constants (MYSQLI_CLIENT_*) {@see mysqli_real_connect}
*   - charset => character encoding to set (default is utf8)
*   - persistent (bool) => try to find a persistent link?
*   - unbuffered (bool) => sends query without fetching and buffering the result rows automatically?
*   - sqlmode => see http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
*   - resource (mysqli) => existing connection resource
*   - lazy, profiler, result, substitutes, ... => see Dibi\Connection options
*/


22 řádek je:
Kód: Vybrat vše
*   - database => the database name to select


Takže si děláš srandu, jo?

No já používám přímo PDO v PHP a nemám problém tak jej používej taky (nebo mysqli, jestli ti vyhovuje) a neplancej do toho nějaké frameworky na mysqli, které ani neumíš rozchodit.
Krakatoa
Junior

Odeslat příspěvekod karlos00x 25. 5. 2016 06:44

Vaclave a neni to trochu hloupost pouzivat PHP7 kdyz nejaka cast kodu s nim neni kompatibilni? Co presne ti PHP7 prinasi, je to pro tebe must-have?
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Václav M. 25. 5. 2016 06:45

... já jsem si hlavně zapomněl zapnout mysql. Při vývoji vlastního generátoru kódu jsem mysql nepotřeboval mít zapnuté, tak jsem na něj zapomněl.

A uvědomil jsem si to až před chvílí, po probuzení.

:arrow:
A nešlo by vypnuté mysql nějak detekovat (a s nějakou chybovou hláškou, která by řekla, co se děje - tedy že je mysql vypnuté)?
Václav M.
Junior
Uživatelský avatar

Odeslat příspěvekod Václav M. 25. 5. 2016 07:47

karlos00x píše:Co presne ti PHP7 prinasi, je to pro tebe must-have?

PHP7 jsem chtěl vyzkoušet - a když jsem si instaloval XAMPP v mobilní verzi na externí disk, instaloval jsem nejprve s PHP 5.6, ale zjistil jsem, že už jsem ty svoje generátory kódu napsal pro PHP7, které jsem měl původně nainstalové na pevném disku - protože pod PHP 5.6 traity nefungovaly tak, jak je mám připravené.

A přitom v té verzi PHP by traity měly být OK - protože byly zavedeny v verzi 5.4 - a já jsem (vědomě) nepoužil nic navíc, než co je v manuálech.
Václav M.
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 25. 5. 2016 08:56

Ty mas na vyvojove masine nekdy vypnute mysql? divne.
Bys mel hlavne prejit na vyvoj pod linuxem pokud to myslis aspon trochu vazne.

Jednou se ti (treba) ty CRLF osklive a nehezky vymsti. A taky nebudes muset resit, ze "se musi instalovat nejak rucne".

Osobne si myslim, ze jeste neni ten spravny cas pro PHP7 na produkci(co presne ti v 5.6 nefunguje? jak se ty chybi v traitech projevuji?), ja to vidim u nas tak na konec kalendarniho roku zhruba (cca pul roku od vydani zacina byt produkcni Ubuntu LTS).
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Krakatoa 25. 5. 2016 15:38

Osobne si myslim, ze jeste neni ten spravny cas pro PHP7 na produkci

Já si myslím, že klidně je, já ji používám hned jak php7 vyšlo a spokojenost :-)

Bys mel hlavne prejit na vyvoj pod linuxem pokud to myslis aspon trochu vazne.

No já myslím, že je to většinou jedno. Osobně nemám problém s debianím serverem, mám jej i ve virtuálce, ale z pohodlnosti používám vlastní balíček s vlastním ovládacím programem přímo ve windows, vždy aktuální verzi apache, php, mysql, phpmyadmina a adminera. A spokojenost.


Václav M. píše:A nešlo by vypnuté mysql nějak detekovat (a s nějakou chybovou hláškou, která by řekla, co se děje - tedy že je mysql vypnuté)?

Jak detekovat? Šak to normálně v php píše, že je mysql vypnuté, pokud je mysql vypnuté, příklad pro to tvé mysqli:

Procedurálně:
Kód: Vybrat vše
<?php
$mysqli = mysqli_connect("localhost","root","heslo","tmp");

chybová hláška při vypnutém mysql:
Warning: mysqli_connect(): (HY000/2002): Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl. in C:\server\www\mysql.php on line 2


OOP:
Kód: Vybrat vše
<?php
$mysqli = new mysqli('localhost', 'root', 'heslo', 'tmp');

chybová hláška při vypnutém mysql:
Warning: mysqli::__construct(): (HY000/2002): Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl. in C:\server\www\mysql.php on line 2
Krakatoa
Junior

Odeslat příspěvekod karlos00x 25. 5. 2016 20:58

Tak pokud nekdo nasadi neco do produkce "hned jak to vyjde", pouziva "vzdy aktualni verzi" cehokoliv tak jeho slova nelze brat moc vazne protoze evidentne resi maximalne nejaky blogisek kde treba na dostupnosti nijak nesejde.
A ten duvod(na kterem jsem se sam osklive spalil) jsem napsal vyse.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Krakatoa 26. 5. 2016 00:30

Tak on člověk, který řeší dostupnost a rychlost, právě že php7 použije, protože je mnohem rychlejší než php5 a stabilita není taky problém. PHP7 používám zkušebně už od betaverzí a všechen kód jsem si optimalizoval pro php7 už když bylo php7 jako betaverze tak, aby s ním na php7 nebyl problém.
On problém může mít tak akorát ten, kdo používá třeba frameworky a cms, které ještě nejsou optimalizované pro php7 a nechce (například z časového hlediska) opravovat kód toho frameworku nebo cms.
A když jsme u té stability a podle mě i důležité rychlosti, a ty jsi děd vševěd, schválně si zkus stáhnout pomocí php a bittorent protokolu nějaký torrent, třeba iso debianu, tak, aby se stahovalo paralelně minimálně od desítek pérů. Schválně kolikrát ti to spadne na php5 a na php7 a na čem to bude rychlejší :-)

Tím spálením myslíš co? CRLF? Můžu vědět co brání tomu používát LF ve windows, když chce člověk používat LF?
Krakatoa
Junior

Odeslat příspěvekod karlos00x 26. 5. 2016 06:00

1) zase tak "mnohem" to neni. pokud nejaky projekt fungoval tak upgrade PHP kvuli rychlosti je nesmysl. zelezo to utahne a kdyz ne tak poridime dalsi - je to levnejsi nez se prdet s kompatibilitou jen aby to kompatibilni bylo.
2) ano, zajiste existuji editory ktere ve widlich by default pouziji LF, ale ja takovy neznam. a to jich spousta navic sahne po locale nastaveni a prskne ti tam sracku jmenem cp1250.. do toho hledani php doplnku atd...
3) na torrenty pomoci PHP? tak to by me fakt nenapadlo
4) ano, pokud spravujes jeden blogisek tako uprava kodu zajiste nebyla problem. pokud mas desitky az stovky projektu pro desitky zakazniku tak te zakaznici poslou k sipku kdyz jim zacnes tvrdit neco o upgrade ktery ani neuvidi .-)
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod gandor 26. 5. 2016 09:52

Ale samozrejme. Karlos je najmudrejsi a vzdy je lepsie platit za zelezo ako mat bezproblemovi chod priamo na php7 (tych nekompatibilnych zmien tam bolo minimum - osobne som nemal ziaden problem). Taktiez mudrlant Karlos vie, ze windows je nepouzitelny, lebo tam sa neda... Skoda len, ze s existujucich balickoch je vyvoj na win pre urcitu skupinu koderov jednoduchsi ako na linux. Ale nie, clovek sa popali, lebo nevie rozlisovat znaky enterov :DDD Akoze fakt? Toto je tvoj neprekonatelny problem? Tak to potom gratulujem...

A v PHP robim viac a dlhsie ako ty Karlos. Ale maj svoj nazor - len nehovor o ostatnom svete, ze su idioti, lebo to len ukazuje spetne na teba....
gandor
Mírně pokročilý

Odeslat příspěvekod Pavel Černík 26. 5. 2016 11:13

gandor - nezáleží na tom jak dlouho a jak moc. Záleží jak kvalitně případně na jaké úrovni. Musím souhlasit s karlosem, že přechod na jinou verzi PHP je u větších projektů peklo.
PHP7 je naprostá novinka a použít ji u nějakého kritického systému by byla sebevražda. Proč myslíte, že všechny důležité systémy jedou na starých počítačích se starým OS?
Pavel Černík
Junior

Odeslat příspěvekod karlos00x 26. 5. 2016 13:00

gandore on je trochu rozdil mit jeden vlastni projekt a delat si na nem sam samotinky a provozovat ho na svem jedinem serveru a pak delat pro x klientu na y ruznych projektech na kterych spolupracuje z lidi, jadro je spolecne napric temi projekty a ty projekty musi dokazat bezet dodnes z historickych duvodu treba i na 5.3... jsou veci ktere si jako programator nevyberes.

S koncema radku jsem se nespalil s tim, ze bych je neumel pouzivat ja. Spalil jsem se na tom, ze to neumel/neznal nekdo jinej kdysi davno v tom projektu(a nutne to nemusel byt primo php programator). Ono pak chvilku trva nez clovek najde takovou malickost jako pricinu.
Ohledne vyvoje PHP pod widlema jsem si uzil dost pri shaneni balicku - apc, imagemagick atd
Na linuxu kdyz je nejhur tak maximalne napisu phpize nebo make a je hotovo :-)

A na zaver to nejdulezitejsi co jsem se snazil sdelit: time is money!
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Krakatoa 26. 5. 2016 17:52

karlos00x:
Reakce na tento příslěvek: viewtopic.php?p=11184073#p11184073
1) Na netu se dočteš, že je php7 i 2x rychlejší. Já nikomu nevnucuju php7, je mi jasné, když má někdo projekt s miliardou řádků založený na cizím přeplácaném cms a má v něm různé frameworky a je to dělané na php5 a na php7 by byl problém to upravit a nebyla by jistota, že to bude funkční, tak je mi jasné že je nesmysl to na php7 upravovat. Co mi není jasné, proč máš něco proti tomu, že dnes někdo chce používat php7, klidně i na složitější projekty pokud se kód má vytvářet nebo není problém s jeho překopáním na php7. Když Václav M. nepozná ani že má vyplou mysql tak těžko má nějaké složité projekty .-)
2) Netuším co používáš za editory, používám dreamweaver a pspad a v obouch si můžeš nastavit defaultně jaké chceš zalamování. Takže ty neznáš dreamweaver a pspad, co tedy znáš? Pouze poznámkový blok?
3) No ano, nejspíš není vhodné použít na stahování torrentů php, jenže mě to napadlo jako dobrý test na otestování stability a rychlosti.
4) Já tu nic nepsal o tom, co píšeš v tomto bodě, tys to psal Václav M. a ten jeho problém nejspíš nebyly třeba desítky nebo stovky projektů, ale vyplé mysql... A mě něco o dostupnosti... A nevšimnul jsem si problému s dostupností na php7...

Pavel Černík:
Reakce na tento příslěvek: viewtopic.php?p=11184409#p11184409
Jenže my tu evidentně neřešíme nějaké složité projekty. To co tu řeší Václav M. je jen taková malá muška. Já třeba překopal uplně tento cms včetně vhodnosti na php7:
http://www.btiteam.org/index.php?action ... iew;down=6
a to je o kapánek větší muška, stále ale muška, a i tak to byla pohodička.
Jak jsem psal, nejde tu o překopávání něčeho složitého, co funguje, ale o to, že php7 je stabilní, rychlé a pokud někdo něco dělá teď nebo něco co zvládně překopat překopává, tak bych se php7 nebál.
php7 není novinka, je tu už půl roku :-) a dnes vyšlo už ve své osmé verzi a to 7.0.7, počítám-li ty finální.

karlos00x:
Reakce na tento příslěvek: viewtopic.php?p=11184520#p11184520
Někdo ale není omezen nějakými starými složitými projekty a my tu v tomto vlákně neřešíme takové případy.
Osobně mi většinou stačí oficiální binárka php, pokud nestačí, tak použiju balíček od Jan-E na apachelounge, např.:
http://www.apachelounge.com/viewtopic.php?t=6359
dává tam balíčky php myslím od verze 5.3 až do 7
a balíček obsahuje i to tvé apc, imagemagick a hromadu dalšího.
"A na zaver to nejdulezitejsi co jsem se snazil sdelit: time is money!"
A na závěr, nekomentuj to ze svého pohledu ale z pohledu co se řeší v tomto vlákně.
Krakatoa
Junior

Odeslat příspěvekod gandor 26. 5. 2016 20:46

Super, Krakatoa to napisal cele za mna.
A nie, nemam za sebou len male projekty a ano, ked som robil nieco v typo3, tak na php7 nepoleziem. Ale ak som robil nieco na ZF2 (a cely vyvoj vratane vsetkych extenzii bol robeny ZF2 friendly), tak nemam najmensi dovod bat sa prejst na novsiu verziu.
Taktiez som nepisal, ze vyvoj pod linuxom je blbost. Existuju niektore extenzie len pod linuxom a jednotlive verziovacie balicky su casto mnamka (teraz myslim yum/apt-get), ale napriklad rozchodit imagick na win kde nebol sucast balicku mi trvalo kratsie, ako vymenit imagick za novsiu verziu pod linuxom ako ta, ktora bola ponukana package managerom (vtedy som mal smolu, ze moja verzia este nemala "binarku" (alebo aspon dostatocne dobre zasitu) ale len zdrojaky a prilis vseobecne navody - a ak sa pytas preco som to potreboval, tak to bolo v casoch ked webp bola relativne novinka a riesil som kondicionalne searvovanie obrazkov pri maximalnej moznej kompresii pre co najkratsiu odozvu)...

Anyway povedat, ze "Bys mel hlavne prejit na vyvoj pod linuxem pokud to myslis aspon trochu vazne." mi pride v podstate totozne ako povedat, ze "mal by si prejst z php na javu pokial to myslis s programovanim aspon trocha vazne"...
gandor
Mírně pokročilý

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků