Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]APC w konsoli
Forum PHP.pl > Forum > Przedszkole
favik
Witam,

mam problem z odpaleniem skryptu używającego APC pod konsolą. Problemem jest to, iż zapisując zmienną pod podanym kluczem cache wcale nie jest tworzony, gdy skrypt wykonuję poleceniem: php /sciezka/skrypt.php

  1. <?php
  2.  
  3. $key = 'klucz';
  4. $var = 'tresc';
  5.  
  6. $ttl = 3600;
  7.  
  8. apc_store($key, $var, $ttl);
  9.  


Natomiast skrypt wykonywany przez przeglądarkę tworzy cache o podanej nazwie.

w pliku /etc/php5/cli/php.ini dodałem:

  1. apc.enabled = 1
  2. apc.enable_cli = 1


jednak nic to nie daje. Sprawdzane na php 5.5.12-1 z APCu i php 5.4.25-1 na APC.

Kod ma być wykonywany w pętli, a do APC chcę zapisywać status/postęp, by móc to łatwo odczytać innym skryptem i wyświetlić. Wydawało mi się to bardzo dobrym pomysłem, ale nie mogę sobie już poradzić z tym problemem.
Damonsson
A czy przypadkiem każdorazowe odpalenie w konsoli nie jest jakby osobnym procesem, czy jakby to fachowo nazwać? Więc zawsze będziesz miał czysty cache, tak mi się przynajmniej wydaje.
favik
Faktycznie coś w tym musi być.

Poniższy kod w obu wypadkach zwraca true i treść cache, jednak narzędzie apc.php nie widzi cache tworzonego z wiersza poleceń. Cache APC wydawało mi się globalne i dostepne w każdy sposób.

  1. var_dump(apc_store($key, $count, $ttl));
  2.  
  3. echo ' ' . apc_fetch($key);
Damonsson
No czyli jest jak pisałem. Jak zresetujesz Apache to też Ci się zrobi pusty cache. A działanie na konsoli, wyobraź sobie jako włączanie osobnego Apacha i po wykonaniu stopowanie go i przy kolejnym znów start i znów stop i tak w kółko, więc zawsze cache będzie pusty.
Pyton_000
Ustaw
  1. apc.enable_cli
w php.ini
favik
Cytat(Pyton_000 @ 9.05.2014, 08:24:28 ) *
Ustaw
  1. apc.enable_cli
w php.ini

Ustawiłem. W pierwszym poście jest o tym informacja. Dla pewności zrzuciłem wynik phpinfo() do pliku. Fragment:

  1. PHP Version => 5.5.12-1~dotdeb.1
  2.  
  3. System => Linux vps64105 2.6.32-042stab084.14 #1 SMP Mon Dec 16 18:16:56 MSK 2013 x86_64
  4. Build Date => May 6 2014 03:54:19
  5. Server API => Command Line Interface
  6. Virtual Directory Support => disabled
  7. Configuration File (php.ini) Path => /etc/php5/cli
  8. Loaded Configuration File => /etc/php5/cli/php.ini
  9. Scan this dir for additional .ini files => /etc/php5/cli/conf.d
  10. Additional .ini files parsed => /etc/php5/cli/conf.d/05-opcache.ini,
  11. /etc/php5/cli/conf.d/10-pdo.ini,
  12. /etc/php5/cli/conf.d/20-apcu.ini,
  13. /etc/php5/cli/conf.d/20-curl.ini,
  14. /etc/php5/cli/conf.d/20-gd.ini,
  15. /etc/php5/cli/conf.d/20-intl.ini,
  16. /etc/php5/cli/conf.d/20-mcrypt.ini,
  17. /etc/php5/cli/conf.d/20-mysql.ini,
  18. /etc/php5/cli/conf.d/20-mysqli.ini,
  19. /etc/php5/cli/conf.d/20-pdo_mysql.ini,
  20. /etc/php5/cli/conf.d/20-readline.ini
  21.  
  22. PHP API => 20121113
  23. PHP Extension => 20121212
  24. Zend Extension => 220121212
  25. Zend Extension Build => API220121212,NTS
  26. PHP Extension Build => API20121212,NTS
  27. Debug Build => no
  28. Thread Safety => disabled
  29. Zend Signal Handling => disabled
  30. Zend Memory Manager => enabled
  31. Zend Multibyte Support => provided by mbstring
  32. IPv6 Support => enabled
  33. DTrace Support => enabled
  34.  
  35. Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
  36. Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, tls
  37. Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
  38.  
  39. This program makes use of the Zend Scripting Language Engine:
  40. Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
  41. with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
  42.  
  43.  
  44. This program was built by Dotdeb (http://www.dotdeb.org/).
  45.  
  46. _______________________________________________________________________
  47.  
  48.  
  49. Configuration
  50.  
  51. apc
  52.  
  53. APC support => Emulated
  54.  
  55. apcu
  56.  
  57. APCu Support => Enabled
  58. Version => 4.0.4
  59. APCu Debugging => Disabled
  60. MMAP Support => Enabled
  61. MMAP File Mask =>
  62. Serialization Support => php
  63. Revision => $Revision: 328290 $
  64. Build Date => May 7 2014 05:23:19
  65.  
  66. Directive => Local Value => Master Value
  67. apc.coredump_unmap => Off => Off
  68. apc.enable_cli => On => On
  69. apc.enabled => On => On
  70. apc.entries_hint => 4096 => 4096
  71. apc.gc_ttl => 3600 => 3600
  72. apc.mmap_file_mask => no value => no value
  73. apc.preload_path => no value => no value
  74. apc.rfc1867 => Off => Off
  75. apc.rfc1867_freq => 0 => 0
  76. apc.rfc1867_name => APC_UPLOAD_PROGRESS => APC_UPLOAD_PROGRESS
  77. apc.rfc1867_prefix => upload_ => upload_
  78. apc.rfc1867_ttl => 3600 => 3600
  79. apc.serializer => php => php
  80. apc.shm_segments => 1 => 1
  81. apc.shm_size => 32M => 32M
  82. apc.slam_defense => On => On
  83. apc.smart => 0 => 0
  84. apc.ttl => 0 => 0
  85. apc.use_request_time => On => On
  86. apc.writable => /tmp => /tmp
Pyton_000
W teorii powinno działać. Tutaj ktoś ma kosmiczne rozwiązanie smile.gif
http://stackoverflow.com/questions/1002936...using-dumpfiles
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.