2017-06-15 71 views
0

我在[輸入鏈接描述] [1]處的文檔中實現了php-cpp擴展。PHP-CPP擴展保留了頁面訪問中變量的值

CPP代碼只是一個具有類型爲NODE(鏈接列表)的全局變量(根)的文件。 有2個功能:

  1. 將節點添加到由root引用的列表中。
  2. 查看列表中使用Php :: out打印的元素。

我的index.php包含一個帶有添加數字按鈕的輸入框。 當按下添加按鈕時,添加框中的值被髮送到一個調用CPP擴展中的添加功能的php文件中。 另一個按鈕是在同一頁面上顯示列表中的節點的視圖。

我的預期:

我預計根應該保持其跨頁面瀏覽量的價值。 即,如果我加載我的index.php並添加一個數字到列表,然後嘗試查看另一個頁面的列表,它應該給我從第一頁插入的元素。這應該發生在任何頁面,或者我嘗試從其中加載頁面的瀏覽器或機器上。 任何來源的添加應該在所有頁面上都可見。

正在發生的事情:

  1. 有時,當我打開一個新標籤,並查看我可以看到以前的值被印刷有時空列表。
  2. 如果我打開一個新的瀏覽器,那麼肯定會丟失以前的值。
  3. 如果一個標籤被加載並顯示空白列表,並且我從這個頁面輸入一個值,那麼之前打開的所有標籤都會鬆開它們以前的值,現在顯示這個值。
  4. 如果我長時間打開標籤,然後查看,一些標籤顯示空值,一些顯示一些隨機值(如果顯示一個值,那麼所有標籤都會顯示該值)。

請建議我該怎麼做,以便根元素始終指向相同的列表,並且列表中的數據不會在多個綜合瀏覽量中丟失。

回答

0

很可能你的php腳本是通過啓動一個或多個shot-lived php解釋器進程在服務器上解釋的。每個這些進程都有自己的全局變量。當進程死亡時,其全局變量的內容丟失。

如果你想保留一段時間的變量值,那麼你應該將它保存在某種數據庫中。有大量的PHP工具可以用於SQl和NO-SQL數據庫。

+0

我不希望使用數據庫,因爲我們需要對每個請求執行的工作需要大量處理,因此多個數據庫查找會增加開銷。由於這個原因,我們希望在CPP中的BST中實現一個鏈表,這樣搜索時間就非常少。 CPP也會讓它更快。但無法在多個頁面視圖中保存樹的引用。 – user3396714