簡體   English   中英

Symfony 1.4 / Doctrine 1.2無法識別已加載APC擴展

[英]Symfony 1.4 / Doctrine 1.2 cannot recognize APC extension is loaded

我正在嘗試將APC配置為可與我的Symfony 1.4 / Doctrine 1.2網站一起使用。 我當前正在使用WAMP 2.1,並且已成功安裝APC擴展。 當我執行phpinfo()時,得到的說明顯示已啟用APC。

apc
APC Support enabled
Version 3.1.6
APC Debugging   Disabled
MMAP Support    Disabled
Locking type    File Locks
Revision    $Revision: 303642 $
Build Date  Dec 1 2010 21:08:06

Directive   Local Value Master Value
apc.cache_by_default    On  On
apc.canonicalize    On  On
apc.coredump_unmap  Off Off
apc.enable_cli  Off Off
apc.enabled On  On
apc.file_md5    Off Off
apc.file_update_protection  2   2
apc.filters no value    no value
apc.gc_ttl  3600    3600
apc.include_once_override   Off Off
apc.lazy_classes    Off Off
apc.lazy_functions  Off Off
apc.max_file_size   10M 10M
apc.num_files_hint  1000    1000
apc.preload_path    no value    no value
apc.report_autofilter   Off Off
apc.rfc1867 Off Off
apc.rfc1867_freq    0   0
apc.rfc1867_name    APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS
apc.rfc1867_prefix  upload_ upload_
apc.rfc1867_ttl 3600    3600
apc.shm_segments    1   1
apc.shm_size    64M 64M
apc.slam_defense    On  On
apc.stat    On  On
apc.stat_ctime  Off Off
apc.ttl 0   0
apc.use_request_time    On  On
apc.user_entries_hint   4096    4096
apc.user_ttl    0   0
apc.write_lock  On  On

但是,當我嘗試將查詢緩存設置為在symfony ProjectConfiguration.class中使用APC時,我收到一條錯誤消息,指出未加載APC擴展名:

  public function configureDoctrine(Doctrine_Manager $manager)
  {
      $manager->setAttribute(Doctrine_Core::ATTR_QUERY_CLASS, 'Doctrine_Query_Extra');
      $manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE, new Doctrine_Cache_Apc());  //use APC to query cache
  }

這是運行清除緩存(php symfony cc)時遇到的錯誤:

致命錯誤:未捕獲的異常“ Doctrine_Cache_Exception”,消息為“必須加載apc擴展才能使用此后端!” 在C:.. \\ lib \\ vend或\\ symfony-1.4.14 \\ lib \\ plugins \\ sfDoctrinePlugin \\ lib \\ vendor \\ doctrine \\ Doctrine \\ Cach e \\ Apc.php:44中

我到處都在搜尋,但似乎無法弄清楚。 我重新啟動WAMP無濟於事。 我認為這可能與我下載的APC擴展有關。 我讀到我必須為WAMPSERVER 2.1使用VC6編譯版本,所以我做到了。 我找到了一個標有“ php_apc_316_php53_vc6.dll”的二進制文件。 我可以看到它已在phpinfo()中啟用,這一事實應表明它已正確安裝了嗎? 在ProjectConfiguration.class中添加該行之前,我是否缺少一些symfony配置? 順便說一句,即使我的Memcache服務器已安裝並正常運行,當我嘗試將Memcache用作查詢緩存時,我也有完全相同的錯誤,這使我認為我缺少某種Symfony / Doctrine配置步驟。

任何幫助將非常感激! 謝謝! 坦率

弄清楚了。 原來這是一個簡單的修復。 我在CLI中使用的php與我設置APC的php版本關聯的版本不同。 我的wampserver上有2個版本的PHP安裝程序。 Windows 7中的路徑環境變量設置為錯誤的php版本目錄。 因此,當我運行“ php symfony cc”時,它使用的是錯誤的php版本。

信用在這里: http : //oldforum.symfony-project.org/index.php/m/93957/?srch=memcached#msg_93957

希望這對某人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM