Cài đặt php-odbc

Tài liệu này chứa các hướng dẫn về cách hỗ trợ ODBC trong PHP hoạt động trong Apache và cụ thể là với trình điều khiển Easysoft ODBC

Easysoft đã thử nghiệm trình điều khiển ODBC của chúng tôi với Apache 1. 3. n - 2. 0. 50 và PHP3. 0. 0 - 5. 0. 0 và chúng tôi hy vọng chúng sẽ tương thích với các bản phát hành này

Do lịch sử lâu đời của các bản phát hành Apache và PHP, có nhiều cách khác nhau để xây dựng/cài đặt chúng với sự hỗ trợ của ODBC. Chúng tôi đã cố gắng ghi lại các phương pháp này bằng phương pháp thông thường/phổ biến nhất trước tiên. Nếu bạn đang sử dụng bản sao Apache hoặc PHP cũ hơn, vui lòng xem "

Tài liệu này đề cập đến phần mở rộng Unified ODBC PHP. Để biết thông tin về cách sử dụng trình điều khiển Easysoft ODBC với Đối tượng dữ liệu PHP (PDO)/PDO_ODBC, hãy xem hướng dẫn Easysoft này

Đối với Apache 2. 0. x và PHP5. x, phương pháp được đề xuất được trình bày chi tiết tại đây. Nếu bạn đang xây dựng Apache 1. n và PHP4. n xem các phần bên dưới

Apache hỗ trợ DSO (Đối tượng chia sẻ động) trên hầu hết các nền tảng hiện nay. PHP hỗ trợ tải các mô-đun PHP (dưới PHP) thông qua các mục mở rộng trong tệp php. tập tin ini

2. 1 Tòa nhà PHP 5. n và Apache 2. 0. n chính bạn

Phần này mô tả cách xây dựng PHP 5. n và Apache 2. 0. n chính bạn. Bạn có thể cần phải làm điều này vì các bản phân phối nhị phân cho nền tảng của bạn không có sẵn hoặc không được xây dựng với các tùy chọn mà bạn yêu cầu

Nhận các bản phân phối mã nguồn Apache và PHP từ các trang được liệt kê trong Phụ lục A, Các Liên kết Hữu ích

Untar Apache, cd vào thư mục apache

Luôn chạy

/dir_where_you_want_apache/bin/apachectl restart
9 với Apache để xem bạn có thể muốn đưa vào những tùy chọn nào khác. Ví dụ này sử dụng tất cả các giá trị mặc định

Xây dựng Apache với

rpm -i unixODBC-2.2.3-6.i386.rpm
0. Điều này cho phép mô-đun DSO cho phép Apache tải động các mô-đun (như PHP) trong thời gian chạy

Chạy

./configure --prefix=/dir_where_you_want_apache --enable-so

Chạy

rpm -i unixODBC-2.2.3-6.i386.rpm
1

Chạy

rpm -i unixODBC-2.2.3-6.i386.rpm
2

Bây giờ bạn đã cài đặt Apache trong /dir_where_you_want_apache

Đọc Cài đặt và cấu hình PHP

Về cơ bản, bạn cần đảm bảo

  1. LoadModule php5_module mô-đun/libphp5. vì vậy không bị ghi chú (hoặc được thêm vào) trong httpd. conf
  2. ứng dụng AddType/x-httpd-php. php. phtml được nhập vào httpd. conf

Untar PHP, cd vào thư mục PHP

Đối với PHP, hãy luôn chạy

rpm -i unixODBC-2.2.3-6.i386.rpm
3 với PHP để xem bạn có thể muốn đưa vào những tùy chọn nào khác

Đọc php-5. x. x/INSTALL đề cập đến Cài đặt và cấu hình PHP

chạy

./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
    --with-unixODBC=shared,/usr/local/easysoft/unixODBC

rpm -i unixODBC-2.2.3-6.i386.rpm
4 nói rằng unixODBC nên được xây dựng dưới dạng tiện ích mở rộng dùng chung và đường dẫn thư mục trỏ cấu hình của PHP đến nơi tìm unixODBC

Đường dẫn bạn đặt trong

rpm -i unixODBC-2.2.3-6.i386.rpm
5 phụ thuộc vào việc bạn đang sử dụng unixODBC đi kèm với sản phẩm Easysoft hay bạn đã tự xây dựng/cài đặt unixODBC. Khi cài đặt các sản phẩm của Easysoft, unixODBC được cài đặt trong /usr/local/easysoft/unixODBC nhưng nếu bạn tự xây dựng unixODBC với tiền tố cấu hình mặc định thì nó sẽ nằm trong /usr/local. Ngoài ra, nếu bạn đã tải xuống RPM, v.v. thì unixODBC có thể nằm trong /usr. Bạn phải sửa đổi
rpm -i unixODBC-2.2.3-6.i386.rpm
6 một cách thích hợp

Xây dựng php với

rpm -i unixODBC-2.2.3-6.i386.rpm
1 sau đó chạy
rpm -i unixODBC-2.2.3-6.i386.rpm
2

Bây giờ bạn sẽ có libphp. xx trong /dir_where_you_want_apache/modules và các phần mở rộng PHP (như odbc) trong /usr/local/lib/php/extensions/no-debug-non-zts-2004041 (trong đó thư mục cuối cùng có thể khác nhau tùy thuộc vào phần mở rộng PHP của bạn)

sao chép php. ini-dist vào /usr/local/lib/php. ban đầu

Bây giờ chỉnh sửa /usr/local/lib/php. ini và đảm bảo

  1. extension_dir được đặt thành nơi tồn tại các tiện ích mở rộng PHP của bạn. e. g.
        extension_dir = 
            "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
    
  2. phần mở rộng được đặt thành "phần mở rộng = odbc. vậy" ở đâu. vì vậy tùy thuộc vào nền tảng nhưng sẽ là một tệp trong extension_dir. Điều này gây ra odbc. XX sẽ được tải tự động. Các. xx phụ thuộc vào nền tảng nhưng trong các hệ thống SYSV luôn. vậy (thường là. sl trên HP-UX và. một trên AIX)

Bây giờ hãy khởi động lại Apache. e. g

/dir_where_you_want_apache/bin/apachectl restart

Bây giờ bạn có thể viết một. phtml và đặt nó vào /dir_where_you_want_apache/htdocs có thể chạy. Thấy

2. 1. 1 LƯU Ý. Apache 2

Apache 2 chạy ở chế độ xử lý/luồng kết hợp trên bất kỳ nền tảng nào hỗ trợ cả luồng và quy trình. Khi chạy đa luồng, bạn cần sử dụng bản phân phối OOB an toàn cho luồng và bạn nên xây dựng PHP với trình quản lý trình điều khiển unixODBC đi kèm với OOB. Các bản phân phối OOB an toàn cho luồng là những bản có chứa "-mt" trong tên tệp phân phối

Nếu bạn đang xây dựng PHP cho Apache 2, hãy đảm bảo rằng bạn sửa đổi các hướng dẫn bên dưới chỉ định --with-apxs thành --with-apxs2

Bạn không cần sử dụng mô hình luồng trong Apache 2 - xem httpd. conf

Phần này mô tả cách cài đặt Apache và PHP trên bản cài đặt RedHat 9 sạch. Hầu hết điều này cũng sẽ phù hợp với bất kỳ ai cài đặt từ RPM nhưng chi tiết ở đây là RedHat 9 cụ thể

Cài đặt gói từ Shell Prompt

Đọc phần này nếu bạn thường thêm các gói RedHat từ dấu nhắc trình bao

RedHat 9 chứa bản phân phối riêng của trình quản lý trình điều khiển unixODBC mà ví dụ này sử dụng. Tuy nhiên, các chi tiết đều có thể áp dụng như nhau cho mọi cài đặt unixODBC, cả từ gói nguồn và gói nhị phân

Bạn có thể lấy RPM unixODBC từ RedHat (xem tài liệu)

Cài đặt unixODBC RPM với

rpm -i unixODBC-2.2.3-6.i386.rpm

Sau khi cài đặt, bạn sẽ có quyền truy cập vào lệnh odbcinst có thể được sử dụng để xác minh phiên bản đã cài đặt

odbcinst --version
unixODBC 2.2.3

Bạn cũng có thể sử dụng odbcinst để tìm ra nơi nên xác định trình điều khiển và nguồn dữ liệu ODBC

odbcinst -j
unixODBC 2.2.3
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
USER DATA SOURCES..: /home/person/.odbc.ini

Cài đặt trình điều khiển ODBC mà bạn muốn sử dụng, tạo nguồn dữ liệu cho nó và kiểm tra nó với isql của unixODBC - xem

Bạn có thể lấy PHP RPM từ RedHat (xem Phụ lục A. Liên kết hữu ích)

Bây giờ hãy cài đặt PHP RPM chính

rpm -i php-4.2.2-17.i386.rpm

rpm -i php-odbc-4.2.2-17.i386.rpm

và khởi động lại máy chủ web

/etc/rc.d/init.d/httpd restart

Bây giờ nhìn thấy

Cài đặt Gói từ Máy tính để bàn KDE

Hãy đọc phần này nếu bạn thường thêm các gói RedHat từ K Desktop Môi trường

Để cài đặt các gói Apache, PHP và unixODBC

  1. Đăng nhập vào KDE với quyền root
  2. Từ màn hình nền KDE, nhấp vào biểu tượng RedHat để hiển thị menu Bắt đầu ứng dụng
  3. Bấm Cài đặt Hệ thống, rồi bấm Thêm/Xóa Ứng dụng
  4. Trong cửa sổ Quản lý gói, cuộn xuống phần Máy chủ
  5. Nhấp vào hộp kiểm Máy chủ Web
  6. Nhấp vào Chi tiết máy chủ web
  7. Trong hộp thoại Chi tiết gói máy chủ web, trong phần Gói bổ sung, hãy bấm vào hộp kiểm php-odbc
  8. Nhấp vào Đóng
  9. Nhấp vào Cập nhật
  10. Nhấp vào Tiếp tục khi được nhắc
  11. Nhấp vào OK
  12. Nhấp vào Thoát

Để hiển thị thông tin cấu hình unixODBC

  1. Trên menu Bắt đầu Ứng dụng, bấm vào Công cụ Hệ thống, sau đó bấm vào Thiết bị đầu cuối
  2. Tại dấu nhắc trình bao gõ.
    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    0

    Đầu ra của lệnh cho bạn thấy

    Các dòng sau hiển thị một số đầu ra mẫu từ lệnh odbcinst

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    1

Để khởi động Máy chủ web Apache

  1. Trên menu Bắt đầu Ứng dụng, bấm Cài đặt Hệ thống, rồi bấm Cài đặt Máy chủ. Sau đó nhấp vào Dịch vụ
  2. Trong Công cụ cấu hình dịch vụ, trong danh sách Dịch vụ, hãy nhấp vào hộp kiểm httpd
  3. Nhấp vào nút Bắt đầu
  4. Nhấp vào OK khi được nhắc
  5. Trên menu Tệp, nhấp vào Lưu Thay đổi
  6. Trên menu Tệp, bấm Thoát

Bước tiếp theo

Cài đặt trình điều khiển ODBC mà bạn muốn sử dụng, sau đó tạo và kiểm tra nguồn dữ liệu ODBC. Để biết thông tin về cách thực hiện việc này, hãy xem

Có bốn cách để xây dựng PHP 3. 4 để sử dụng với Apache 1

  1. PHP độc lập. Bạn xây dựng PHP dưới dạng tệp thực thi độc lập có chứa trình phân tích cú pháp và công cụ và chạy nó dưới dạng CGI trong Apache. Chúng tôi không khuyến nghị điều này vì nó chậm hơn rất nhiều nhưng nó cho phép bạn chơi với PHP mà không thực hiện bất kỳ thay đổi nào của Apache

    Trong dòng cấu hình của bạn, bạn sẽ sử dụng một cái gì đó như

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    2
  2. Bản dựng tĩnh của Apache và PHP. Tại đây bạn xây dựng PHP, chèn kho lưu trữ PHP vào cây Apache và xây dựng Apache. Mã Apache và mã PHP đều tồn tại trong Apache. Đây từng là phương pháp phổ biến nhất để xây dựng Apache và PHP và được trình bày chi tiết bên dưới

    Điểm bất lợi là nếu một PHP mới được phát hành, bạn cần xây dựng lại Apache VÀ PHP để bắt đầu sử dụng phiên bản PHP mới và tệp thực thi của Apache lớn hơn

  3. Bản dựng động của Apache và PHP. Tại đây bạn xây dựng Apache có hỗ trợ DSO (mod_so) và đặt tên cho các mô-đun Apache mà bạn muốn tải động. PHP được xây dựng như một đối tượng dùng chung bằng cách sử dụng lệnh apxs của Apache và sau đó Apache được yêu cầu tải nó

    Một lợi thế rõ ràng của phương pháp này là bạn có thể xây dựng lại/thay đổi PHP mà không cần thay đổi Apache. Nhiều bản phân phối Linux (RedHat, v.v.) phân phối Apache như thế này, vì vậy nếu bạn không muốn phải xây dựng lại Apache nhưng muốn sử dụng PHP với hỗ trợ ODBC, bạn có thể sử dụng phương pháp này

  4. Bản dựng động của Apache với các mô-đun PHP3 và PHP4. Điều này có nghĩa là bạn có thể chạy PHP3 và PHP4. Về cơ bản nó giống như [3] ở trên nhưng bạn cần đọc kỹ hướng dẫn ở cuối tệp INSTALL của PHP và xem phần "Sử dụng PHP 3 và PHP 4 làm mô-đun apache đồng thời" ở phần sau của tài liệu này

3. 1 LƯU Ý. tùy chọn cấu hình cụ thể trong PHP

Từ PHP4b3, bạn có thể định cấu hình PHP cho OOB bằng tùy chọn

rpm -i unixODBC-2.2.3-6.i386.rpm
9 thay vì sử dụng tùy chọn
odbcinst --version
unixODBC 2.2.3
0. Tuy nhiên, nếu bạn đã cài đặt một bản phân phối OOB tiêu chuẩn (hoặc riêng unixODBC, chúng tôi thực sự khuyên bạn nên xây dựng PHP với trình quản lý trình điều khiển unixODBC và sau đó thêm trình điều khiển ODBC vào odbcinst của unixODBC. ini)

3. 2 LƯU Ý. Xây dựng nhiều trình điều khiển vào PHP

Xin lưu ý rằng bạn không thể xây dựng PHP với nhiều trình điều khiển ODBC hoặc trình quản lý trình điều khiển e. g. sử dụng bất kỳ hai từ

./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
    --with-unixODBC=shared,/usr/local/easysoft/unixODBC
3

Nếu bạn muốn truy cập nhiều trình điều khiển ODBC từ PHP, phương pháp tốt nhất là cài đặt trình quản lý trình điều khiển unixODBC và sau đó thông báo cho trình quản lý trình điều khiển unixODBC về trình điều khiển ODBC của bạn. Trình quản lý trình điều khiển unixODBC có trong tất cả các bản phân phối sản phẩm Easysoft, có sẵn dưới dạng nguồn từ trang web unixODBC và thường có sẵn dưới dạng RPM, v.v. (gói) cho bản phân phối của bạn. Bạn cần sử dụng tùy chọn cấu hình --with-unixODBC cho PHP để xây dựng với trình quản lý trình điều khiển unixODBC

Bạn có thể xây dựng PHP bằng trình điều khiển ODBC và trình điều khiển cơ sở dữ liệu không phải ODBC như Oracle® hoặc MySQL

3. 3 Tòa nhà PHP (3. n. 4. n) với sự hỗ trợ ODBC cho Apache (1. n) DSO

Nếu bạn đã xây dựng Apache hoặc nó đi kèm với bản phân phối UNIX của bạn thì bạn có thể thêm hỗ trợ PHP mà không cần xây dựng lại Apache. Để làm được điều này, Apache phải được xây dựng với sự hỗ trợ của DSO. Để kiểm tra xem Apache của bạn có được xây dựng với hỗ trợ DSO hay không, bạn chạy httpd -l để liệt kê tĩnh các mô-đun được bao gồm - bạn cần tìm kiếm mod_so. c. Nếu bạn có mod_so thì bạn có thể xây dựng PHP dưới dạng mô-đun động

Để xây dựng Apache từ đầu với sự hỗ trợ cho DSO, bạn cần chỉ định

odbcinst --version
unixODBC 2.2.3
1 để định cấu hình cho Apache

Để xây dựng PHP động cho Apache, bạn sử dụng dòng cấu hình PHP tương tự như

./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
    --with-unixODBC=shared,/usr/local/easysoft/unixODBC
4

Lưu ý, chúng tôi khuyên bạn không nên sử dụng các phiên bản unixODBC có dạng RPM trong RedHat 7. x, v.v. vì những thứ này dường như được xây dựng với sự hỗ trợ của luồng và điều này hiện không hoạt động với Apache DSO. Thay vào đó, hãy sử dụng bản phân phối unixODBC đi kèm với sản phẩm Easysoft

3. 4 Xây dựng tĩnh hậu PHP4b3 và Apache (1. n) với OOB

Vui lòng đọc các tệp CÀI ĐẶT trong các bản phân phối PHP và Apache trước khi làm theo các hướng dẫn này vì chúng có thể cung cấp thêm thông tin cập nhật về các chi tiết cụ thể của Apache và PHP

Ví dụ bên dưới giả định rằng bạn đã cung cấp /usr/local làm đường dẫn cài đặt cho Easysoft ODBC-ODBC Bridge. Nếu đây không phải là trường hợp thì vui lòng thay đổi /usr/local thành đường dẫn cài đặt được chỉ định khi cài đặt

Lưu ý, đây không phải là cách được đề xuất để xây dựng PHP vì nó hạn chế bạn chỉ sử dụng Easysoft ODBC-ODBC Bridge làm trình điều khiển ODBC trong khi việc xây dựng PHP bằng trình quản lý trình điều khiển cho phép bạn truy cập vào tất cả các trình điều khiển ODBC mà bạn cài đặt trong trình quản lý trình điều khiển

Để xây dựng PHP với Apache và OOB, bạn nên làm theo công thức này

  1. Tải xuống Apache. (xem Apache. tổ chức)

  2. Tải xuống PHP. (xem PHP)

  3. Tham khảo hướng dẫn trong php-4. y. z/CÀI ĐẶT và apache_1. 3. x/CÀI ĐẶT. Đặc biệt, php-4. y. z/INSTALL hiển thị hướng dẫn từng bước để xây dựng với MySql (nếu bạn không sử dụng MySQL thì bạn có thể bỏ qua --with-mysql). Để xây dựng PHP với Easysoft ODBC-ODBC Bridge phải thêm

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    5

    trong đó /base_oob_install_dir là thư mục cơ sở nơi OOB được cài đặt. Thư mục cài đặt mặc định là /usr/local/easysoft/oob/client và khi cài đặt liên kết một cách tượng trưng /usr/local/easysoft với you_install_dir/easysoft, bạn không cần chỉ định thư mục

  4. Khi định cấu hình Apache, bạn cần xác định biến môi trường LDFLAGS là

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    6

    và đối với các nền tảng UNIX mà trình liên kết không tự động xử lý các phụ thuộc phụ (hầu như tất cả các nền tảng trừ Linux), bạn cũng sẽ cần phải

    • cộng

      ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
          --with-unixODBC=shared,/usr/local/easysoft/unixODBC
      
      7

      đến LDFLAGS. LDFLAGS cho trình liên kết biết nơi tìm các đối tượng được chia sẻ OOB và những đối tượng được chia sẻ nào sẽ sử dụng

    • đặt LD_LIBRARY_PATH/LD_RUN_PATH/SHLIB_PATH/LIBPATH (tùy thuộc vào nền tảng của bạn) thành

      /usr/local/easysoft/oob/client. /usr/local/easysoft/lib

      Cài đặt này là bắt buộc vì Apache hiện thực hiện liên kết thử nghiệm và chạy khi định cấu hình, vì vậy nếu bạn không cho trình liên kết động biết nơi tìm tất cả các đối tượng được chia sẻ, bạn có thể sẽ thấy nhiều thông báo "không thể tìm thấy libesrpc. so messages" trong khi cấu hình

      Xuất các biến môi trường này trước khi chạy cấu hình Apache

3. 5 Xây dựng tĩnh trước PHP4b3 và Apache (1. n) với OOB

Vui lòng đọc các tệp CÀI ĐẶT trong các bản phân phối PHP và Apache trước khi làm theo các hướng dẫn này vì chúng có thể cung cấp thêm thông tin cập nhật về các chi tiết cụ thể của Apache và PHP

Ví dụ bên dưới giả định rằng bạn đã cung cấp /usr/local làm đường dẫn cài đặt cho Easysoft ODBC-ODBC Bridge. Nếu đây không phải là trường hợp thì vui lòng thay đổi /usr/local thành đường dẫn cài đặt được chỉ định khi Easysoft ODBC-ODBC Bridge được cài đặt

Lưu ý, đây không phải là cách được khuyến nghị để xây dựng PHP vì nó hạn chế bạn chỉ sử dụng Easysoft ODBC-ODBC Bridge làm trình điều khiển ODBC trong khi việc xây dựng PHP bằng trình quản lý trình điều khiển cho phép bạn truy cập vào tất cả các trình điều khiển ODBC mà bạn cài đặt trong trình quản lý trình điều khiển. Nếu bạn muốn build bằng unixODBC Driver Manager bạn cần thay đường dẫn trong các ví dụ sau và thư viện. Tuy nhiên, bạn sẽ thấy hỗ trợ ODBC tốt hơn trong các phiên bản PHP sau này và chúng tôi khuyên bạn nên nâng cấp

Để xây dựng PHP với Apache và OOB, bạn nên làm theo công thức này

  1. Tải xuống Apache. (Apache. tổ chức)

  2. Tải xuống PHP. (xem PHP)

  3. Tham khảo hướng dẫn trong php-x. y. z/CÀI ĐẶT và apache_1. 3. x/CÀI ĐẶT. Đặc biệt, php-x. y. z/INSTALL hiển thị hướng dẫn từng bước để xây dựng với MySql (nếu bạn không sử dụng MySQL thì bạn có thể bỏ qua --with-mysql). Để xây dựng PHP với Easysoft ODBC-ODBC Bridge, bạn phải thêm

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    8

    trong đó /base_oob_install_dir là thư mục cơ sở nơi OOB được cài đặt

    Bạn cũng phải xác định biến môi trường CUSTOM_ODBC_LIBS là

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    9

    và xuất nó hoặc nếu sử dụng tiền tố bash shell, dòng cấu hình PHP với CUSTOM_ODBC_LIBS="-lesoobclient"

  4. Khi định cấu hình Apache, bạn cần xác định biến môi trường LDFLAGS là

    ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
        --with-unixODBC=shared,/usr/local/easysoft/unixODBC
    
    6

    và đối với các nền tảng UNIX mà trình liên kết không tự động xử lý các phụ thuộc phụ (hầu như tất cả các nền tảng trừ Linux), bạn cũng sẽ cần phải

    • cộng

      ./configure --with-apxs2=/dir_where_you_want_apache/bin/apxs
          --with-unixODBC=shared,/usr/local/easysoft/unixODBC
      
      7

      đến LDFLAGS. LDFLAGS cho trình liên kết biết nơi tìm các đối tượng được chia sẻ OOB và những đối tượng được chia sẻ nào sẽ sử dụng

    • đặt LD_LIBRARY_PATH/LD_RUN_PATH/SHLIB_PATH/LIBPATH (tùy thuộc vào nền tảng của bạn) thành

      /usr/local/easysoft/oob/client. /usr/local/easysoft/lib

      Cài đặt này là bắt buộc vì Apache hiện thực hiện liên kết thử nghiệm và chạy khi định cấu hình, vì vậy nếu bạn không cho trình liên kết động biết nơi tìm tất cả các đối tượng được chia sẻ, bạn có thể sẽ thấy nhiều thông báo "không thể tìm thấy libesrpc. so messages" trong khi cấu hình

      Xuất các biến môi trường này trước khi chạy cấu hình Apache

Đây là nhật ký của một quy trình xây dựng điển hình

    extension_dir = 
        "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
2

Nếu bạn cần chạy đồng thời PHP3 và PHP4, điều này có thể đạt được trên một vài nền tảng. Vui lòng đọc kỹ hướng dẫn ở cuối file INSTALL của PHP trước

Easysoft khuyên bạn nên xây dựng PHP bằng trình quản lý trình điều khiển unixODBC và không trực tiếp với bất kỳ sản phẩm Easysoft nào khi bạn muốn PHP3 và PHP4

Chúng tôi đã thử điều này thành công trên cấu hình sau

  • apache 1. 3. 12
  • Linux2. 2. 12-20smp (Red Hat Linux phát hành 6. 1 (Xe kéo))
  • binutils 2. 9. 1. 0. 24 mặc dù tài liệu nói rằng nó chỉ được thử nghiệm
  • với 2. 9. 1. 0. 25
  • unixODBC 1. 8. 13
  • php 3. 0. 16 và php 4. 0. 4

PHP3 đã được cấu hình với

    extension_dir = 
        "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
3

PHP4 đã được cấu hình với

    extension_dir = 
        "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
4

Rõ ràng là đối số của

odbcinst --version
unixODBC 2.2.3
2 phụ thuộc vào nơi bạn đã cài đặt Apache

Chúng tôi cũng đã thêm phần sau vào httpd. tập tin conf

    extension_dir = 
        "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
5
    extension_dir = 
        "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
6

Phần này sẽ chỉ cho bạn cách kiểm tra ODBC trong PHP dưới Apache. Nó giả sử bạn có

  • đã xây dựng hoặc cài đặt Apache và PHP bằng một trong các phương pháp trên
  • đã cài đặt trình điều khiển Easysoft ODBC
  • bạn đã cài đặt trình quản lý trình điều khiển unixODBC đi kèm với trình điều khiển Easysoft ODBC hoặc độc lập

Bước đầu tiên và quan trọng nhất là xác minh trình điều khiển ODBC đã được cài đặt chính xác và bạn đã tạo/kiểm tra nguồn dữ liệu ODBC (DSN)

  1. Xác định vị trí trình quản lý trình điều khiển unixODBC

    • Nếu bạn đã cài đặt unixODBC như một phần của cài đặt Easysoft, nó sẽ nằm trong /usr/local/easysoft/unixODBC. chương trình unixODBC sẽ nằm trong /usr/local/easysoft/unixODBC/bin
    • Nếu bạn tự xây dựng unixODBC, nó sẽ nằm trong /usr/local (theo mặc định) hoặc bất cứ nơi nào bạn đặt
      odbcinst --version
      unixODBC 2.2.3
      
      3 thành. chương trình unixODBC sẽ nằm trong /usr/local/bin hoặc prefix/bin
    • nếu bạn đã cài đặt unixODBC như một phần của RPM hoặc gói, nó sẽ ở nhiều nơi khác nhau nhưng các chương trình unixODBC đã có sẵn trên đường dẫn của bạn (có thể là /usr/bin)

    Bạn sẽ biết nếu bạn có đường dẫn chính xác nếu bạn có thể tìm chương trình odbcinst của unixODBC. Trong phần còn lại của phần này, đường dẫn đến các chương trình unixODBC được gọi là UNIXODBCBIN

  2. Xác định nơi unixODBC đang lưu trữ trình điều khiển ODBC đã cài đặt và SYSTEM DSN

        extension_dir = 
            "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
    
    7

    Trong trường hợp này /etc/odbcinst. ini là nơi unixODBC lưu trữ danh sách các trình điều khiển ODBC đã cài đặt và /etc/odbc. ini chứa DSN HỆ THỐNG

    các odbcinst. ini phải chứa một mục cho trình điều khiển Easysoft ODBC mà bạn đã cài đặt. e. g. đối với OOB, nó sẽ trông giống như thế này

        extension_dir = 
            "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
    
    8

    Nếu bạn chưa có trình điều khiển ODBC trong odbcinst. ini, bạn cần kiểm tra cài đặt sản phẩm Easysoft đã tìm thấy hoặc đã cài đặt unixODBC

    odbc. ini là nơi bạn xác định nguồn dữ liệu ODBC của mình. Trừ khi bạn chạy Apache với tư cách là một người dùng cụ thể bằng tài khoản gia đình, bạn phải đặt DSN mà bạn muốn truy cập bằng PHP trong HỆ THỐNG odbc. ini (trong ví dụ trên đây là /etc/odbc. ini)

  3. Tạo/kiểm tra và kiểm tra DSN của bạn với isql

    Khi bạn cài đặt trình điều khiển Easysoft ODBC, quá trình cài đặt thường sẽ tạo một DSN trong HỆ THỐNG odbc. tập tin ini. Trường hợp ngoại lệ là nếu unixODBC không được cài đặt như một phần của cài đặt Easysoft hoặc nếu unixODBC chưa được tìm thấy trên máy của bạn

    Kiểm tra odbc HỆ THỐNG của bạn. ini để DSN kiểm tra. Nếu HỆ THỐNG của bạn odbc. ini không chứa DSN, bạn sẽ cần tạo một DSN - xem hướng dẫn đi kèm với trình điều khiển Easysoft ODBC mà bạn đang sử dụng thường có trong /usr/local/easysoft/DRIVER/docs

    Nếu DSN bạn đang sử dụng yêu cầu tên người dùng và mật khẩu để đăng nhập vào cơ sở dữ liệu, bạn cần phải có sẵn những thứ này

    Chạy

        extension_dir = 
            "/usr/local/lib/php/extensions/no-debug-non-zts-20040412"
    
    9

    trong đó DSN là tên của DSN và database_username và database_password của bạn;

    Điều này sẽ kết nối thành công với cơ sở dữ liệu của bạn và cung cấp lời nhắc để bạn có thể nhập SQL. Nếu không thì có một số khả năng và bạn nên

    • Kiểm tra xem bạn đã đặt bất kỳ biến môi trường cần thiết nào như ORACLE_HOME, LD_LIBRARY_PATH, v.v. (xem hướng dẫn về trình điều khiển Easysoft ODBC mà bạn đang sử dụng)
    • tham khảo tài liệu đi kèm với trình điều khiển ODBC
    • liên hệ với bộ phận hỗ trợ của Easysoft nếu bạn có hợp đồng hỗ trợ hoặc đang dùng thử

    Một vài vấn đề phổ biến được liệt kê trong

    Cho đến khi điều này hoạt động, không có ích gì khi tiếp tục với các hướng dẫn này. PHP cũng giống như isql, nó là một ứng dụng khác sử dụng ODBC, vì vậy nếu isql không hoạt động thì PHP cũng vậy

Bước quan trọng thứ hai là đảm bảo PHP của bạn đang hoạt động trong Apache (bất kể hỗ trợ ODBC trong PHP)

  1. Đảm bảo rằng bạn đã xây dựng hoặc cài đặt Apache có hỗ trợ PHP
  2. Nếu Apache được xây dựng với DSO để nó tự động tải PHP thì hãy đảm bảo httpd Apache của bạn. conf chứa một dòng LoadModule như sau

    /dir_where_you_want_apache/bin/apachectl restart
    
    0

    hoặc là

    /dir_where_you_want_apache/bin/apachectl restart
    
    1

    hoặc là

    /dir_where_you_want_apache/bin/apachectl restart
    
    2

    Lưu ý Nếu bạn đã cài đặt PHP từ gói RedHat 9, hãy kiểm tra mục nhập LoadModule trong php. thay vào đó. Theo mặc định, RedHat cài đặt php. conf trong /etc/httpd/conf. thư mục d

  3. Đảm bảo rằng bạn đã sửa đổi Apache httpd của mình. conf để cho nó biết mô-đun nào sẽ xử lý. phtml và/hoặc. tập tin php. Đây thường là một dòng như sau trong Apache httpd. tập tin conf

    /dir_where_you_want_apache/bin/apachectl restart
    
    3
  4. Kiểm tra xem bạn có thể chạy một tập lệnh PHP đơn giản không. e. g

    /dir_where_you_want_apache/bin/apachectl restart
    
    4

    Đặt ở trên trong một. phtml trong Apache của bạn và kiểm tra xem nó có chạy không

    Nếu bạn có vấn đề với điều này

    • kiểm tra nhật ký lỗi Apache của bạn. Tệp này được đặt tên trong (các) tệp cấu hình Apache của bạn (e. g. httpd. conf) với
      odbcinst --version
      unixODBC 2.2.3
      
      4
    • Bạn đã sao chép php. ini đến?

      Nếu bạn đã cài đặt PHP từ gói RedHat 9, hãy bỏ qua bước này. Theo mặc định, RedHat cài đặt php. ini trong thư mục /etc

    • Bật ghi nhật ký PHP - xem php. tập tin ini

      Một số tùy chọn trong tệp này có thể hữu ích cho việc gỡ lỗi

      • "track_errors = On" lưu lỗi cuối cùng trong biến php_errormsg
      • Kết quả "error_reporting = 7" Lỗi thông thường, Cảnh báo thông thường, Lỗi trình phân tích cú pháp
      • "error_log = filename" xác định các lỗi/cảnh báo của tệp sẽ được gửi tới

Bây giờ hãy thử hỗ trợ ODBC dưới Apache/PHP

  1. Xác định vị trí một thư mục trong Apache nơi bạn có thể lưu trữ. phtml mà bạn muốn thực thi bởi PHP. Thông thường thư mục được xác định trong Apache httpd. conf của

    odbcinst --version
    unixODBC 2.2.3
    
    5 là một nơi tốt. Thông thường đây là/htdocs hoặc /var/www/html với RedHat

    Sao chép tệp bên dưới vào thư mục đó, đảm bảo phần mở rộng của tệp được xác định trong httpd. conf cho các tệp PHP (thường là. phtml) sau đó chỉnh sửa nó như chi tiết bên dưới

    /dir_where_you_want_apache/bin/apachectl restart
    
    5
    • Thay thế MYTABLE bằng một bảng trong cơ sở dữ liệu của bạn mà bạn có ít nhất quyền truy cập được chọn vào
    • Thay thế DSN bằng tên DSN của bạn
    • Thay thế DB_USERNAME và DB_PASSWORD bằng thông tin đăng nhập hợp lệ cho cơ sở dữ liệu của bạn

    Ví dụ: OOB cài đặt DSN HỆ THỐNG có tên "demo" với thông tin đăng nhập cơ sở dữ liệu của tên người dùng "demo" và mật khẩu "easysoft" và chứa một bảng có tên "oobdist_contact"

    Duyệt đến URL trên máy chủ Apache của bạn để tìm tệp bạn vừa đặt ở đó. Bạn sẽ thấy một bảng chứa các kết quả của SQL

B. 1 Khả năng rò rỉ kết nối ODBC trong PHP

Vào ngày 3 tháng 4 năm 2001, chúng tôi đã đăng nội dung sau lên nhóm tin tức OOB

/dir_where_you_want_apache/bin/apachectl restart
6

B. 2 treo code khi dùng nhiều câu lệnh active vào MS SQL Server

Phần tiếp theo là tập lệnh PHP giải thích sự cố và cách giải quyết

/dir_where_you_want_apache/bin/apachectl restart
7

Câu hỏi thường gặp về Easysoft trên trang web Easysoft là một tài nguyên rất hữu ích để tìm câu trả lời cho các sự cố thường gặp

  1. Nếu isql không chạy được vì không tìm thấy đối tượng dùng chung

    Đảm bảo rằng trình liên kết động có thể tìm thấy đối tượng được chia sẻ của trình quản lý trình điều khiển unixODBC libodbc. xx và mọi đối tượng được chia sẻ theo yêu cầu của trình điều khiển ODBC. Điều này có nghĩa là thêm đường dẫn của chúng vào các biến môi trường LD_LIBRARY_PATH, LIBPATH hoặc SHLIBPATH hoặc chỉnh sửa/etc/ld. vì thế. conf, tùy thuộc vào nền tảng của bạn

    Điều này được mô tả trong hướng dẫn sử dụng cho tất cả các trình điều khiển Easysoft ODBC

  2. Apache/PHP không thành công vì không tìm thấy đối tượng dùng chung

    Như trên trong phần 1 nhưng nếu bạn đang chạy PHP dưới dạng CGI thì bạn cũng có thể phải thêm một dòng SetEnv vào httpd Apache của mình. conf e. g

    Làm cách nào để cài đặt trình điều khiển ODBC cho PHP?

    Tải xuống và cài đặt Trình điều khiển Microsoft ODBC cho SQL Server từ liên kết thích hợp trên trang tải xuống ODBC. Thay thế tên của các tệp bạn đã sao chép vào thư mục tiện ích mở rộng PHP của mình theo yêu cầu. Hướng dẫn đầy đủ để tải trình điều khiển có thể được tìm thấy ở đây

    Làm cách nào để kết nối ODBC trong PHP?

    Kết nối với SQL Server từ PHP bằng Trình điều khiển ODBC dành cho SQL Server .
    Bước 1. Kết nối với nguồn dữ liệu ODBC. Hàm odbc_connect() được sử dụng để kết nối với nguồn dữ liệu ODBC. .
    Bước 2. Thực thi một câu lệnh SQL. .
    Bước 3. In tập kết quả

    PHP có sử dụng ODBC không?

    ODBC là một trình kết nối giúp cho việc phát triển PHP "không liên quan đến trình kết nối cơ sở dữ liệu. " Nó sử dụng các chức năng như odbc_query() đối với các cơ sở dữ liệu như MySQL, PostgreSQL, SQLite, Microsoft SQL Server®, IBM® DB2®, Sybase, OpenLink Virtuoso, FileMaker và Microsoft Office® Access®.

    PDO ODBC là gì?

    PDO_ODBC là trình điều khiển triển khai giao diện Đối tượng dữ liệu PHP (PDO) để cho phép truy cập từ PHP tới cơ sở dữ liệu thông qua trình điều khiển ODBC hoặc thông qua Giao diện mức gọi DB2 của IBM (DB2 CLI) . .