2012-07-27 30 views
10

Trong tập lệnh php của tôi, tôi phục hồi các bản sao lưu cơ sở dữ liệu db2. Họ ngày càng lớn hơn. Vì vậy, bây giờ tôi đã nhận được 500 Server Error sau + -30min sau khi thực thi kịch bản. Có dòng này trong (mod_fastcgi.c.3352) response not received, request sent: 634 on socket: tcp:127.0.0.1:9090 for /wrational/restoredb.php?mode=restore&database=RATIONAL, closing connection trong tệp php-errors.log.Tôi có thể thay đổi default_socket_timeout từ mã php của mình không?

Tôi nghĩ rằng thiết lập `set_time_limit (6000); 1 sẽ giải quyết được vấn đề nhưng không.

Tăng default_socket_timeout trong tệp php.ini đã thực hiện thủ thuật.

Có cách nào để thay đổi default_socket_timeout từ mã php không?

Trả lời

24

Với lệnh PHP này:

ini_set("default_socket_timeout", 6000); 

Hoặc thêm/cập nhật các tập tin .htaccess với dòng này:

php_value default_socket_timeout 6000 

Kiểm tra giá trị hiện tại với phpinfo()

1

bạn có thể thêm/cập nhật tệp .htaccess dòng php_value default_socket_timeout 6000

3

hãy cẩn thận, php có lỗi với default_socket_timeout và SSL. Nó sẽ chờ đợi vô tận trong trường hợp bạn sử dụng HTTPS/SSL.

https://bugs.php.net/bug.php?id=41631

+3

lỗi đã được cố định trong các phiên bản gần đây php - 5.4.33 - 5.5.17 - 5.6.0-rc4 – staabm

Các vấn đề liên quan