大指令碼執行常見問題總結

2022-08-19 15:24:11 字數 1501 閱讀 1134

1.  allowed memory size of 8388608 bytes exhausted

出現原因:指令碼執行超過最大執行時間

解決方法:1 ) 修改 php.ini 檔案。將memory_limit 由預設值改成合適的大小,重啟伺服器。

2)在指令碼中加入 ini_set("memory_limit","100m");

注意:為了系統的其它資源的正常使用 請您不要將 memory_limit設定太大,其中-1為不限
2. max_allowed_packet 的問題。

出現原因:mysql會根據配置檔案會限制server接受的資料報的大小。如果寫入大資料時,因為預設的配置太小,插入和更新操作會因為 max_allowed_packet 引數限制,而導致失敗。
解決方法:1)修改配置檔案
[mysqld]

max_allowed_packet = 100m

2)臨時修改 重啟失效

set global max_allowed_packet = 100 * 1024 * 1024;

mysql> show variables like 'max_allowed_packet';

+--------------------+---------+

| variable_name      | value   |

+--------------------+---------+

| max_allowed_packet | 4194304 |

+--------------------+---------+

1 row in set (0.00 sec)

3. ab壓力測試 apr_socket_connect(): 由於目標計算機積極拒絕,無法連線。 (730061)

找到apache/conf/httpd.conf檔案,用文字編輯器開啟找到這兩行:

把後面這行的注釋去掉。

找到apache/conf/extra/httpd-mpm.conf檔案,開啟,找到:

threadsperchild      150        //threadsperchild 每個子程序的最大併發執行緒數。

maxrequestsperchild    0    //maxrequestsperchild 每個子程序允許處理的請求總數,該值設為0表示不限制請求總數(子程序永不結束)

把上面的150調大,windows下最大為1920.

重新啟動apache服務.

4.timeout 504

nginx設定以下引數
fastcgi_connect_timeout 1200;

fastcgi_send_timeout 1200;

fastcgi_read_timeout 1200;

sql 執行大指令碼

sqlserver在執行過大的指令碼 如對資料庫資料及架構備份的指令碼等 時,會出現沒有足夠記憶體執行程式的警告。此時,可通過再本地計算機的終端中執行以下命令之一 根據需要 來執行大指令碼 語法 osql s 資料庫伺服器位址 u 資料庫登入名稱 p 資料庫登入密碼 i 指令碼路徑示例 data s...

VueJs常見問題總結

1 響應式屬性和方法 每個 vue 例項都會 其 data 物件裡所有的屬性。var data var vm new vue vm.a data a true 設定屬性也會影響到原始資料 vm.a 2data a 2 反之亦然 data a 3 vm.a 3即 都可以使vm.這種方式獲取和修改例項屬...

spring boot常見問題總結

1.今天在配置spring boot入門程式的時候發現乙個問題 controller失效 即配置了 controller類,卻不能訪問到 解決這個問題也是耗費了不少時間,其實應該早點就要想到的,因為在springmvc中對於 controller註解的類是需要component scan來配置的,同...