Mssql_connect PHP 7

Hiện tại các nhà phát triển PHP đang gặp phải một vấn đề lớn với phiên bản PHP - hầu hết các hệ điều hành repos đã có các phiên bản lỗi thời (CentOS có 5. 4 đã hết tuổi thọ. ), nhưng chỉ hoán đổi các phiên bản không phải là một tùy chọn - đặc biệt là với các yêu cầu phiên bản của các khung/thư viện khác nhau. Hơn nữa, thông thường để có nhiều hơn một phiên bản đồng nghĩa với việc biên dịch lại và cập nhật các bản cập nhật - và không ai muốn điều đó. Dưới đây là cách thiết lập máy chủ (ảo trên vật lý), với bảng lưu trữ ISPConfig3, nhiều phiên bản PHP, Apache và Mariadb mới nhất trong vòng chưa đầy nửa giờ, không cần biên dịch. Sau đó, bạn có thể quản lý các máy chủ ảo của mình và phiên bản PHP của chúng từ một giao diện người dùng đẹp mắt

Tôi đã nghe mơ hồ về sqlsrv, nhưng có vẻ như nó yêu cầu trình điều khiển ODBC chưa có sẵn cho Linux

Đây là phiên bản PHP của tôi

Mã. dev-lang/php-7. 0. 19. gentoo được xây dựng với những điều sau đây.
SỬ DỤNG="acl apache2 berkdb bzip2 lịch cli crypt ctype curl nhúng tệp thông tin bộ lọc ftp gd gdbm hash iconv ipv6 json kerberos ldap mssql mysql mysqli nls odbc opcache phar posix postgres readline phiên ổ cắm xà phòng xml đơn giản mã thông báo ssl unicode xml xmlreader xmlrpc xmlwriter zip zlib -bcmath -

Ai đó có thể vui lòng cho tôi biết liệu có cách nào dễ dàng để kết nối với máy chủ MS SQL từ tập lệnh Gentoo PHP giống như trước đây với mssql_* không?

Có thể thiếu Gentoo ebuild cho http. //pecl. php. mạng/gói/sqlsrv?

Cảm ơn,

Vieri

Chỉnh sửa lần cuối bởi Vieri vào Thứ Hai ngày 16 tháng 10 năm 2017 11. 38 giờ sáng;

Mssql_connect PHP 7
Mssql_connect PHP 7
kitsunenokenja
Người trợ giúp bé nhỏ của Tux
Mssql_connect PHP 7

Đã tham gia. 20 tháng 1 năm 2004
Bài viết. 131

Đã đăng. CN 15/10/2017 1. 04 giờ sáng    Đăng chủ đề.
Mssql_connect PHP 7
Các hàm thủ tục kiểu cũ cho các lệnh gọi cơ sở dữ liệu không được dùng nữa và do đó khi phát hành phiên bản 7, chúng đã bị loại bỏ hoàn toàn. Bạn cần chuyển sang sử dụng lớp PDO. Ngoài ra, nhiều năm trước đã từng có một số loại trình điều khiển được bao gồm để kết nối với máy chủ MSSQL nhưng không còn nữa. Bạn sẽ cần mua riêng trình điều khiển Linux PHP7 từ nhà cung cấp cũng như bật các cờ sử dụng phù hợp khi biên dịch PHP để sử dụng nó.
_________________
ProtonMail - Email được mã hóa miễn phí từ Thụy Sĩ
Let's Encrypt - Tổ chức chứng nhận SSL miễn phí
Mssql_connect PHP 7
Mssql_connect PHP 7
Vieri
l33t
Mssql_connect PHP 7

Joined: 18 Dec 2005
Bài viết. 836

Đã đăng. Thứ hai 16/10/2017 10. 13 giờ sáng    Đăng chủ đề.
Mssql_connect PHP 7
Thật đáng tiếc.
OSS luôn thay đổi và điều đó thật tốt. Tuy nhiên, khả năng tương thích ngược không phải là thế mạnh của nó.

Tôi đã tự hỏi liệu tôi có thể tìm ra lối thoát dễ dàng hơn bằng cách sử dụng freetds và unixodbc (sau đó sử dụng các hàm odbc_* trong PHP)

FreeTDS có vẻ ổn

Mã. # TDSVER=7. 1 tsql -S sqlserver -U my_user -P my_pass -D my_db
ngôn ngữ là "C"
bộ ký tự ngôn ngữ là "ANSI_X3. 4-1968"
sử dụng bộ ký tự mặc định "ISO-8859-1"
Đặt my_db làm cơ sở dữ liệu mặc định trong gói đăng nhập
1
2> go
ID
X111000K
(1 row affected)
1> quit

unixODBC

Mã. # mèo /etc/unixODBC/odbcinst. ini
[FreeTDS]
Description=Freetds
Driver=/usr/lib64/libtdsodbc. vì vậy
UsageCount=1
Luồng=2

Mã. # mèo /etc/unixODBC/odbc. ini
[sqlserver]
Trình điều khiển = FreeTDS
Mô tả = máy chủ MS SQL
Trace = . 1
Server = sqlserver
Port = 1433
Database =  my_db
TDS_Version = 7.1

Mã. # odbcinst -i -d -f /etc/unixODBC/odbcinst. ini
odbcinst. Trình điều khiển được cài đặt. Số lần sử dụng tăng lên 2.
    Thư mục đích là /etc/unixODBC

Mã. # odbcinst -q -d
[FreeTDS]

Mã. # isql -v sqlserver my_user my_pass
+--------------------------------- . kết nối.                             .
| Connected!                            |
.                                        .
. Câu lệnh sql.
. trợ giúp [tên bảng].
. từ bỏ.
.                                        .
+---------------------------------------+
SQL>

Tôi có thể chạy các truy vấn SQL từ dấu nhắc isql

Tuy nhiên, tập lệnh PHP của tôi dường như không hoạt động

Mã. # thi mèo. php
$con = odbc_connect("sqlserver", "my_user", "my_pass");
if ($con === false) die("ERROR. không thể kết nối với cơ sở dữ liệu. ");

$sql= "chọn  ID từ pro_Prof trong đó ( Active = 1 và User = 'me' )";
$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);$rs = odbc_exec ($con, $sql);
if ($rs === false) die("ERROR: cannot query database.");
$numrows = odbc_num_rows($rs);

echo "numrows=". $numrows. "\n";
$row = odbc_fetch_array($rs);
if (. $row) die("LỖI. không thể tìm nạp dữ liệu bảng. ");
echo "hàng. ". $row[0]. "\n";
odbc_free_result($rs);
odbc_close($con);
?>

Đầu ra tôi thấy trên trình duyệt là

Không có gì trong nhật ký

Mã số. # đuôi -n 200 /var/log/Apache2/php_error_log

Tôi không hiểu tại sao apache/PHP có thể kết nối với máy chủ SQL (người dùng apache rõ ràng có thể tìm thấy DSN), nhưng nó không truy xuất được các bản ghi mong đợi

Tôi chỉ còn một bước nữa là làm cho tất cả những thứ này hoạt động.
Làm cách nào để kiểm tra thêm điều này?

Mssql_connect PHP 7
Mssql_connect PHP 7
Vieri
l33t
Mssql_connect PHP 7

Đã tham gia. 18 tháng 12 năm 2005
Bài viết. 836

Đã đăng. Thứ hai ngày 16 tháng 10 năm 2017 11. 38 giờ sáng    Đăng chủ đề.
Mssql_connect PHP 7
Ừm. Đừng bận tâm. Mã PHP của tôi bị sai. Tôi đang truy cập mảng theo số nguyên, không phải theo tên, nhưng mảng là kết hợp.
Vì vậy, sử dụng

hoạt động tốt

Tuy nhiên, odbc_num_rows luôn trả về -1, không có vấn đề gì nên tôi đoán tôi không thể tin vào kết quả của cuộc gọi đó

Làm cách nào để kết nối với SQL Server bằng PHP 7?

Cách bật tiện ích mở rộng trong PHP7. .
1. Giới thiệu. .
2 Tải xuống tiện ích mở rộng SQL Server cho PHP. .
3 Sao chép các tệp cần thiết vào thư mục tiện ích mở rộng PHP. .
4 Sửa đổi php. ban đầu. .
5 Cài đặt Trình điều khiển ODBC (nếu chưa cài đặt).
6 Cách kiểm tra xem chúng tôi đã bật tiện ích mở rộng SQL trong PHP7 chưa. 0. 0+ hay không

Làm cách nào để kết nối với máy chủ mssql php?

Ví dụ ¶ .
Ví dụ #1 Kết nối bằng Xác thực Windows. $serverName = "tên máy chủ\\sqlexpress"; . .
Ví dụ #2 Kết nối bằng cách chỉ định tên người dùng và mật khẩu. $serverName = "tên máy chủ\\sqlexpress"; . .
Ví dụ #3 Kết nối trên một cổng được chỉ định

Làm cách nào để kết nối với cơ sở dữ liệu SQL Server từ tập lệnh PHP?

Chạy Truy vấn MS SQL từ PHP . ? php $query ="CHỌN col1,col2 TỪ tên bảng"; . .

Làm cách nào để kết nối SQL Server với PHP bằng xampp?

Nhập tệp SQL .
Tạo một tệp trống có tên là sổ bạn bè. sql. .
Trên màn hình phpMyAdmin, chọn cơ sở dữ liệu lưu bút
Chọn tab Nhập
Chọn. tệp sql để nhập
Nhấn nút Go để chạy lệnh