Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> bool(false)
lewyx84
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


Witam,
chciałbym wiedzieć, od czego zależy, że kod:
Kod
<?php
$value = true;
var_dump($value ?: false);
na jednym serwerze pokazuje wartość true, a na drugim serwerze wartość false.
Czy jest za to odpowiedzialna jakaś zmienna w php.ini?

Pozdrawiam

Lewy
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


wersja PHP
Go to the top of the page
+Quote Post
lewyx84
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


PHP 5.4.25 (cli)

Więc tak,
kod
Kod
<?php
$value = true;
var_dump($value ?: true);
?>

zapisany do pliku x.php i uruchomiony z przeglądarki pokazuje wartość false, ale ten sam kod odpalony za pomocą php x.php pokazuje w konsoli wartość true.

Natomiast kod:
Kod
<?php
$value = true;
var_dump(true ?: false)
?>


pokazuje wartość true.

Będę wdzięczny za pomoc.

Ten post edytował lewyx84 5.03.2014, 19:54:36
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Z ciekawości u siebie odpaliłem na vps pliczek:
  1. <?php
  2.  
  3. $value = true;
  4. var_dump($value);
  5. $test = $value ?: false;
  6.  
  7. var_dump($test);
  8.  
  9. var_dump($value ?: falase);

i wynik true zarówno jako Browser jak i cli.

wersja php:
Kod
PHP 5.4.4-14+deb7u7 (cli) (built: Dec 12 2013 10:55:22)

Serwer Nginx + PHP FPM
Go to the top of the page
+Quote Post
lewyx84
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


U siebie również odpaliłem ten skrypt i:

w konsoli

bool(true)
bool(true)
bool(true)


a przez przeglądarkę

bool(true)
bool(false)
bool(false)

Gdzie więc jest zależność?
Problem pomiędzy apache a php?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A powiedz jeszcze czy dla CLI i apache jest ładowany ten sam plik php.ini ? Jeżeli nie to zrób diff tych dwóch plików.
dla konsoli
Kod
php --ini

a dla apache
  1. <?php
  2. php_info();
Go to the top of the page
+Quote Post
lewyx84
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


Kod
php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File:         /usr/local/etc/php.ini


phpinfo
Kod
Configuration File (php.ini) Path    /usr/local/etc
Loaded Configuration File    /usr/local/etc/php.ini


Więc tak, ładowany jest ten sam plik
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Wrzuć może jeszcze gdzieś swój php.ini
Porównam go ze swoim. Choć nie mam pomysłu na problem :|

Wiem że występują różne kwiatki w konfiguracjach php jako Apache-mod a fpm, ale tutaj ?
Go to the top of the page
+Quote Post
lewyx84
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


http://wklej.org/hash/e398e575180/

Ja nie mam pomysłu, co może być źle.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


przenieś to
Kod
[Zend]
zend_extension="/usr/local/lib/php/20100525/ioncube/ioncube_loader.so"
zend_extension="/usr/local/lib/php/20100525/eaccelerator.so"

na sam koniec
Tak poza tym wszystko raczej ok

Ten post edytował Pyton_000 5.03.2014, 21:59:29
Go to the top of the page
+Quote Post
lewyx84
post
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


ok, przeniesione.
Na innym forum, kazano mi zrobić taki test i opisać gdzie jaki wynik w konsoli, a jaki w przeglądarce.
Może to Ci w jakiś sposób pomoże

1.
Kod
<?php
var_dump((bool)$value ?: false);
?>

konsola
Kod
PHP Notice:  Undefined variable: value in /usr/home/lewy/www/microserwis.pl/php/1.php on line 2
bool(false)

www również false

2.
Kod
<?php
$value = (bool)true;
var_dump($value ?: false);
?>

konsola true, przeglądarka false

3.
Kod
<?php
$value = TRUE;
var_dump($value ?: false);
?>

konsola true, przeglądarka false
Go to the top of the page
+Quote Post
Pyton_000
post
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


z ciekawości wszedłem na
Cytat
microserwis.pl/php/1.php

i dostałem true :-|

Ten post edytował Pyton_000 6.03.2014, 06:54:00
Go to the top of the page
+Quote Post
lewyx84
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


ok, ale kod którym sugeruje się ichni programista to:
Kod
<?php
$value = true;
var_dump($value ?: false);
?>


A w 1.php jest
Kod
<?php
$value = true;
var_dump((bool)$value ?: false);
?>


Czy programista ma zły kod na to wychodzi, dobrze myślę?

Jednak również, kod programisty wklepany na
http://sandbox.onlinephpfunctions.com/

w wersji 5.4.21 pokazuje
bool(true)

Ten post edytował lewyx84 6.03.2014, 15:31:45
Go to the top of the page
+Quote Post
Pyton_000
post
Post #14





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ta zagadka nadaje się do Archiwum X (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lewyx84
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.11.2013

Ostrzeżenie: (0%)
-----


Dokładnie, bo wygląda na to, że róznica jest tylko w dodaniu
Kod
((bool)

pomiędzy var_dump a $value ?: false);

Może w wersji 5.4.21 działa bez tego, nie wiem, nie znam się (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 22:50