PHP v5. 2. 4 [và có lẽ v5. 2. 3] đã xuất hiện một lỗi trong trình điều khiển OCI8 làm rò rỉ phần xử lý câu lệnh. Phiên bản trình điều khiển OCI8 có lỗi là v1. 2. 4. cách giải quyết có thể
- Nâng cấp lên PHP v5. 2. 5 hoặc muộn hơn
- Hạ cấp xuống PHP v5. 2. 1 [báo cáo để làm việc]
- Chỉ hạ cấp trình điều khiển oci8 xuống trình điều khiển có trong PHP 5. 2. 1 [nó hiệu quả với chúng tôi -- iarenaza]
- Nếu bạn đang dùng linux và/hoặc có thể biên dịch các phần mở rộng PECL, hãy cài đặt trình điều khiển OCI8 cũ hơn [v1. 2. 3 dường như hoạt động] từ kho lưu trữ PECL http. //pecl. php. mạng/gói/oci8
Biết thêm thông tin tại
Cài đặt Moodle trên Windows với Oracle Express Edition
Giới thiệu
Phần này giải thích cách cài đặt Moodle với Oracle Express Edition trên Windows. Tôi đang sử dụng nó cho mục đích gỡ lỗi. Nó chắc chắn không phải là một môi trường sản xuất. Mục tiêu là thiết lập dễ dàng và nhanh chóng môi trường Moodle/Windows/Oracle
Cài đặt Oracle
- Tải xuống Oracle Express Edition trên trang web của Oracle
- Bạn cũng sẽ cần ứng dụng khách Instant từ đây [cần đăng ký tài khoản miễn phí]. Sao chép mọi thứ từ thư mục đã giải nén vào apache/bin
- Cài đặt cả hai
- Truy cập vào bảng điều khiển oracle tại http. //127. 0. 0. 1. 8080/apex [Đăng nhập=Mật khẩu SYS=the_one_you_entered_during_the_installation]
- Tạo một người dùng mới và cấp cho nó tất cả các quyền [bao gồm cả DBA]
- Truy cập trang Lệnh SQL và cấp cho người dùng mới của bạn quyền dmbs_lock
grant execute on dbms_lock to XXXXX;
. trong đó XXXXX là tên người dùng của người dùng mới của bạn
- Đăng xuất và đăng nhập với tư cách người dùng mới
- Chạy tập lệnh được tìm thấy trong cơ sở mã Moodle tại /lib/dml/oci_native_moodle_package. sql. Nếu bạn không thể chạy tập lệnh này trực tiếp, bạn có thể chạy các phần của nó [được phân tách bằng dấu gạch chéo] một cách độc lập thông qua trang Lệnh SQL
Ghi chú. Oracle Express Edition 10g được giới hạn tại một cơ sở dữ liệu có tên 'XE'
Thiết lập tiện ích mở rộng Oracle của bạn
Tài liệu này không giải thích cách thiết lập apache/php cho Oracle. Bạn có thể có thêm thông tin về Tài liệu Oracle
Chỉnh sửa phi của bạn. ini, bỏ ghi chú [xóa dấu chấm phẩy ở đầu] phần mở rộng php_oci8. Trong thiết lập WAMP, điều này được liệt kê là
extension=php_oci8.dll
Ngoài ra, nếu bạn định sử dụng bản cài đặt cho mục đích phát triển/thử nghiệm, hãy bỏ ghi chú dòng sau và đặt giá trị thành 0. Nó không cần thiết cho các hoạt động bình thường [nó gây ra sự chậm chạp LỚN của hệ thống. ]
oci8.statement_cache_size = 0
Bạn cũng có thể cần bỏ ghi chú php_oracle, php_pdo_oci, php_pdo_oci8 trong một số thiết lập
Cài đặt Moodle
Trên trang thiết lập cơ sở dữ liệu.
Trình điều khiển. Oracle oci8 [trong tệp cấu hình, nó sẽ đọc "oci8po" cho 1. 9. x cài đặt và "oci" cho 2. 0. x cài đặt]
Máy chủ. làm trống trường
Cơ sở dữ liệu. //máy chủ cục bộ. 1521/XE
Người dùng. người dùng mà bạn đã tạo
Mật khẩu. mật khẩu bạn đã cung cấp cho người dùng
Định cấu hình Apache
Nếu bạn đang chạy Moodle trên Oracle với Apache trên Linux, bạn có thể gặp sự cố với việc PHP có thể xem các biến môi trường hệ thống. Để giải quyết vấn đề này, bạn có thể chỉnh sửa /etc/sysconfig/apache2 và thêm các dòng sau vào dưới cùng
LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2# Đặt biến LANG cho UTF-8
NLS_LANG=AMERICAN_AMERICA. AL32UTF8
LANG=en_US. UTF-8
LC_ALL=en_US. UTF-8
LC_COLLATE=en_US. UTF-8
LC_CTYPE=vi. UTF-8
LC_MESSAGES=en_US. UTF-8
LC_MONETARY=en_US. UTF-8
LC_NUMERIC=vi. UTF-8
LC_TIME=en_US. UTF-8
NLS_NUMERIC_CHARAACTERS='. ,'
xuất LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIM NLS_LANG LD_LIBRARY_PATH NLS_NUMERIC_CHARACTERS
Tiện ích mở rộng OCI8 hiện tại có thể được liên kết với các thư viện Máy khách Oracle từ Cơ sở dữ liệu Oracle 11. 2 hoặc muộn hơn. [OCI8 3. 0 trở về trước có thể được liên kết với 10g trở lên]. Các thư viện Máy khách Oracle nằm trong Máy khách tức thì Oracle miễn phí từ https. //www. tiên tri. com/cơ sở dữ liệu/công nghệ/máy khách tức thì. html. Chúng cũng được bao gồm trong cài đặt cơ sở dữ liệu của bạn
Áp dụng kết nối phiên bản chéo tiêu chuẩn của Oracle. Ví dụ: PHP OCI8 được liên kết với Máy khách Oracle 19c có thể kết nối với Cơ sở dữ liệu Oracle 11. 2 trở đi. Xem ghi chú của Oracle "Hỗ trợ khả năng tương tác máy khách/máy chủ Oracle" [ID 207303. 1] để biết chi tiết
Tôi hiện có PHP 5. 5. 12 và Apache 2. 4 được cài đặt trên Windows Server 2008 R2. Mọi thứ đang chạy hoàn hảo không có vấn đề/cảnh báo
Những gì tôi đã làm là sao chép cùng một tệp/cấu hình Apache sang một máy chủ khác. Tôi đã sao chép thư mục C:\PHP
và sau đó là thư mục C:\Apache24
và dán chúng vào máy chủ mới
Sau đó, tôi đã cài đặt Apache với một thay đổi [tức là httpd -k install
. ] Tôi đã thay đổi số cổng từ 80 thành 8877. Apache đang hoạt động bình thường và nó đang chạy trên cổng 8877. Tôi cũng có thể mở trang mặc định bằng cách truy cập SERVER_IP_ADDRESS. 8877 và nó hoạt động
Nhưng, PHP không hoạt động như bình thường. trong lỗi. log từ máy chủ Apache, tôi nhận được cảnh báo được liệt kê bên dưới
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
Tôi dường như không thể hiểu tại sao tôi gặp lỗi này? . dll mà cảnh báo cho biết "Không thể tìm thấy mô-đun được chỉ định" tồn tại trong C. \PHP\ext thư mụcphp
Các phần mở rộng PHP được đặt trong
C:\php\ext
Bên trong tệp php. ini Tôi có biến này
extension_dir = "ext"
đây là danh sách thư mục của thư mục ext
Volume in drive C is OS Volume Serial Number is C63C-1D75 Directory of C:\php\ext 07/29/2014 06:42 PM
. 07/29/2014 06:42 PM
.. 04/30/2014 02:46 PM 66,560 php_bz2.dll 04/30/2014 02:46 PM 72,704 php_com_dotnet.dll 04/30/2014 02:46 PM 507,392 php_curl.dll 04/30/2014 02:46 PM 18,944 php_enchant.dll 04/30/2014 02:46 PM 43,008 php_exif.dll 04/30/2014 02:46 PM 2,679,808 php_fileinfo.dll 04/30/2014 02:46 PM 1,358,848 php_gd2.dll 04/30/2014 02:46 PM 40,960 php_gettext.dll 04/30/2014 02:46 PM 240,128 php_gmp.dll 04/30/2014 02:46 PM 831,488 php_imap.dll 04/30/2014 02:46 PM 65,024 php_interbase.dll 04/30/2014 02:46 PM 261,632 php_intl.dll 04/30/2014 02:46 PM 179,200 php_ldap.dll 04/30/2014 02:46 PM 1,239,552 php_mbstring.dll 04/30/2014 02:46 PM 36,864 php_mysql.dll 04/30/2014 02:46 PM 88,576 php_mysqli.dll 04/30/2014 02:46 PM 141,824 php_oci8.dll 04/30/2014 02:46 PM 142,336 php_oci8_11g.dll 04/30/2014 02:46 PM 120,320 php_opcache.dll 04/30/2014 02:46 PM 72,704 php_openssl.dll 04/30/2014 02:46 PM 21,504 php_pdo_firebird.dll 04/30/2014 02:46 PM 24,576 php_pdo_mysql.dll 04/30/2014 02:46 PM 23,040 php_pdo_oci.dll 04/30/2014 02:46 PM 20,480 php_pdo_odbc.dll 04/30/2014 02:46 PM 27,648 php_pdo_pgsql.dll 04/30/2014 02:46 PM 465,408 php_pdo_sqlite.dll 08/28/2012 04:15 PM 186,520 php_pdo_sqlsrv_54_ts.dll 06/26/2013 03:22 PM 166,400 php_pdo_sqlsrv_55_ts.dll 04/30/2014 02:46 PM 90,112 php_pgsql.dll 04/30/2014 02:46 PM 12,288 php_shmop.dll 04/30/2014 02:46 PM 385,536 php_snmp.dll 04/30/2014 02:46 PM 236,544 php_soap.dll 04/30/2014 02:46 PM 54,784 php_sockets.dll 04/30/2014 02:46 PM 617,472 php_sqlite3.dll 08/28/2012 04:15 PM 204,952 php_sqlsrv_54_ts.dll 06/26/2013 03:22 PM 183,296 php_sqlsrv_55_ts.dll 04/30/2014 02:46 PM 31,744 php_sybase_ct.dll 04/30/2014 02:46 PM 236,544 php_tidy.dll 04/30/2014 02:46 PM 51,712 php_xmlrpc.dll 04/30/2014 02:46 PM 231,936 php_xsl.dll 40 File[s] 11,480,368 bytes 2 Dir[s] 83,103,895,552 bytes free
Khi tôi cố gắng truy cập trang web, tôi gặp lỗi này
Lỗi nghiêm trọng. Hằng số lớp không xác định 'MYSQL_ATTR_INIT_COMMAND'
đó là do các tiện ích mở rộng không được tải
Tôi giả định rằng cấu hình là chính xác vì cùng một cấu hình đang hoạt động trên một máy chủ khác