Hướng dẫn how include php file in another server? - Làm thế nào để bao gồm tệp php trong một máy chủ khác?

Tôi có hai tệp PHP được đặt trên các máy chủ khác nhau, một ở http://www.mysite.com/main.php, một tệp còn lại tại http://www.sample.com/includeThis.php.

Tôi muốn bao gồm tệp thứ hai từ tệp thứ nhất.

Nội dung của tệp thứ hai trông như thế này:

Và tệp đầu tiên:

Có cách nào tôi có thể làm điều này không?

Hướng dẫn how include php file in another server? - Làm thế nào để bao gồm tệp php trong một máy chủ khác?

Nikic

99,6K36 Huy hiệu vàng188 Huy hiệu bạc224 Huy hiệu đồng36 gold badges188 silver badges224 bronze badges

Khi được hỏi ngày 2 tháng 5 năm 2010 lúc 7:41May 2, 2010 at 7:41

2

Không, cài đặt này bị vô hiệu hóa/không được phép theo mặc định trong hầu hết các máy chủ web (php.ini) để bạn không thể sử dụng include để bao gồm các tệp từ địa chỉ từ xa vì lý do bảo mật.security reasons.

Nếu bạn vẫn muốn cho phép đưa vào các tệp từ xa, chỉ thị allow_url_include phải được đặt thành On trong php.iniinclusion of remote files, the directive allow_url_include must be set to On in php.ini

Nhưng một lần nữa, đó là một thực tế xấu, theo quan điểm định hướng bảo mật; và, vì vậy, nó thường bị vô hiệu hóa (thực sự tôi chưa bao giờ thấy nó được bật)

Nếu bạn muốn đọc nội dung của một tệp từ xa, bạn có thể sử dụng hàm file_get_contents thay thế nhưng điều này sẽ được trả về dưới dạng mã đánh dấu HTML thuần túy, sẽ không có bất kỳ mã phía máy chủ nào., you can use the file_get_contents function instead BUT this will be returned as pure HTML markup code, there won't be any server-side code.

Đã trả lời ngày 2 tháng 5 năm 2010 lúc 7:45May 2, 2010 at 7:45

Hướng dẫn how include php file in another server? - Làm thế nào để bao gồm tệp php trong một máy chủ khác?

SarfrazsarfrazSarfraz

372K76 Huy hiệu vàng529 Huy hiệu bạc576 Huy hiệu Đồng76 gold badges529 silver badges576 bronze badges

3

Sau khi đọc bình luận của bạn - trong đó bạn nói rằng bạn muốn làm điều này như một phương tiện bảo vệ sao chép - câu trả lời của tôi là một sự nhấn mạnh, hãy quên nó đi. Đây không phải là cách bảo vệ bản sao hoạt động.forget it. This is not how copy protection works.

Điều duy nhất bạn có thể làm bằng cách sử dụng include() là tìm nạp mã nguồn từ nơi khác để được giải thích trên trình thông dịch cục bộ. Điều này rất dễ bị bẻ khóa: một khách hàng độc hại sẽ phải

0 mã được tìm nạp.

Thực hiện tập lệnh từ xa từ xa (trên máy chủ của bạn) sẽ không giúp bạn, bởi vì trạng thái của tập lệnh đó (biến, chức năng ...) sẽ không xuất hiện trong tập lệnh bạn gọi nó từ đó.

Các tùy chọn bạn có là:

  • Biên dịch / mã hóa / làm mờ tập lệnh, có thể yêu cầu một mô -đun PHP cụ thể để thực thi nó (rất nhiều câu hỏi về điều này trên SO)

  • Tạo một dịch vụ web thực (ví dụ: sử dụng SOAP) chạy trên máy chủ của bạn và thực hiện các hoạt động được yêu cầu

Tuy nhiên, đối với những gì nó có giá trị, cá nhân tôi không mua, cũng không khuyến nghị cho khách hàng mua, các tập lệnh được mã hóa và tập lệnh cần "điện thoại về nhà" để làm việc. Tôi tin vào việc bảo vệ sản phẩm của bạn thông qua thỏa thuận cấp phép nghiêm ngặt (sẽ khiến khách hàng kinh doanh sợ hãi khi mua sản phẩm của bạn, vì những rủi ro của việc bị bắt bị đánh cắp là quá đắt.)

Đã trả lời ngày 8 tháng 8 năm 2010 lúc 13:21Aug 8, 2010 at 13:21

Hướng dẫn how include php file in another server? - Làm thế nào để bao gồm tệp php trong một máy chủ khác?

PekkapekkaPekka

435K137 Huy hiệu vàng966 Huy hiệu bạc1080 Huy hiệu Đồng137 gold badges966 silver badges1080 bronze badges

0

Tôi tự hỏi nếu OP từng tìm một giải pháp cho chính mình. Theo như tôi biết, cách duy nhất để hoạt động, điều này sẽ là có tất cả các tài khoản khách hàng của bạn trên cùng một máy chủ với các tập lệnh bạn muốn bao gồm - Tôi đã thực hiện một cái gì đó tương tự:

/path_to_myserver_root/httpdocs/clents/client01/wwwroot/scripta.php /path_to_myserver_root/httpdocs

Sau đó: /path_to_myserver_root/privatefiles/myapp/scriptb.php

wwwroot là nơi mỗi điểm miền khách hàng.

Scripta.php có một số logic kinh doanh sau đó bao gồm scriptb.php cho các chức năng của nó với đường dẫn đầy đủ ở trên:

require('/path_to_myserver_root/privatefiles/myapp/scriptB.php')

Scriptb.php cư trú trong một DIR được bảo vệ riêng trên máy chủ, không thể truy cập được bởi HTTP và không thể vượt qua các máy khách.

Bây giờ hãy quan tâm đến bạn, lý do của tôi để thực hiện việc này là duy trì tính nhất quán của phiên bản trên nhiều tài khoản, không giữ lại một số mã PHP ma thuật độc quyền từ khách hàng của tôi - nhưng tôi cho rằng nó có thể được thực hiện cho mục đích đó.

Meh, ymmv.

Đã trả lời ngày 24 tháng 5 năm 2012 lúc 3:43May 24, 2012 at 3:43

Khi bạn đang cố gắng đi qua các tên miền như bạn đã đề xuất, bạn không thực sự bao gồm một tệp ngồi đó sẵn sàng để thực hiện - quá trình này là khác nhau. Máy cần phải mang lại tệp qua HTTP, đó không phải là câu nói bao gồm tất cả.

Ngoài ra, nếu bạn đang lưu trữ được chia sẻ, PHP thường được cấu hình để ngăn bạn ra khỏi miền của riêng bạn.

Nếu bạn không bị hạn chế này, một giải pháp có thể là sử dụng PHP để sao chép lại một bản sao của tệp từ máy chủ khác và sau đó đưa nó vào khi nó ngồi trong miền của bạn. Một apporach khác có thể là viết một kịch bản "triển khai" một chút sao chép nó ở mọi nơi cần thiết bất cứ khi nào bạn thực hiện thay đổi ...

Hi vọng điêu nay co ich...

Martin

Đã trả lời ngày 2 tháng 5 năm 2010 lúc 7:49May 2, 2010 at 7:49

Martin Milanmartin MilanMartin Milan

6.3202 Huy hiệu vàng31 Huy hiệu bạc44 Huy hiệu đồng2 gold badges31 silver badges44 bronze badges

3

Đổi tên cái đầu tiên thành.
then think twice, are you sure you need cross-domain include

Đã trả lời ngày 2 tháng 5 năm 2010 lúc 7:50May 2, 2010 at 7:50

Hướng dẫn how include php file in another server? - Làm thế nào để bao gồm tệp php trong một máy chủ khác?

Ý thức chung thông thường của bạnYour Common Sense

156K39 Huy hiệu vàng209 Huy hiệu bạc332 Huy hiệu Đồng39 gold badges209 silver badges332 bronze badges

0

Sử dụng file_get_contents, để mở tệp, nối nó vào tệp thứ hai như vậy:

$secondFile = file_get_contents('http://www.sample.com/includeThis.php');
file_put_contents('your_file', $secondFile, FILE_APPEND);

Điều này sẽ hoạt động nếu bạn muốn đặt nó ở cuối tệp của bạn. Chỉ chỉ thực hiện một bao gồm trên tập tin của bạn.

Dù sao, như tôi đã nói, đây là IMO rủi ro và nguy hiểm, đặc biệt nếu bạn không chắc chắn về nội dung mà nó có bên trong nó.

Ngoài ra, your_file của bạn sẽ cần phải là một đường dẫn máy chủ thực tế, không phải là URL.

Đã trả lời ngày 2 tháng 5 năm 2010 lúc 7:57May 2, 2010 at 7:57

SologhostsologhostSoLoGHoST

2.5837 Huy hiệu vàng29 Huy hiệu bạc51 Huy hiệu Đồng7 gold badges29 silver badges51 bronze badges

1

Làm thế nào để bạn gọi một tệp PHP từ một tệp khác?

Để gọi một hàm từ một tệp khác trong PHP, bạn cần nhập tệp nơi hàm được xác định trước khi gọi nó. Bạn có thể nhập một tệp PHP bằng cách sử dụng câu lệnh yêu cầu. Để gọi hàm lời chào () từ một tệp khác, bạn cần nhập thư viện.import the file where the function is defined before calling it. You can import a PHP file by using the require statement. To call the greetings() function from another file, you need to import the library.

Bạn đặt các tệp PHP trên máy chủ ở đâu?

Nếu máy chủ của bạn đã kích hoạt hỗ trợ cho PHP, bạn không cần phải làm bất cứ điều gì.Chỉ cần tạo một số tệp .php, đặt chúng vào thư mục web của bạn và máy chủ sẽ tự động phân tích chúng cho bạn.Bạn không cần phải biên dịch bất cứ thứ gì hoặc cài đặt bất kỳ công cụ bổ sung nào.your web directory, and the server will automatically parse them for you. You do not need to compile anything or install any extra tools.

Làm cách nào để chạy tệp PHP trên máy chủ?

Tệp PHP được đặt bên trong thư mục HT HTDOCS.Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập vào localhost/demo.php và nhấn enter.Chương trình của bạn sẽ chạy.open any web browser and enter “localhost/demo. php” and press enter. Your program will run.

Làm cách nào để gọi trang PHP từ trang PHP khác?

Trả lời: Sử dụng hàm tiêu đề PHP () Bạn có thể chỉ cần sử dụng hàm tiêu đề PHP () để chuyển hướng người dùng sang một trang khác.Mã PHP trong ví dụ sau sẽ chuyển hướng người dùng từ trang mà nó được đặt vào URL http://www.example.com/another-page.php.Use the PHP header() Function You can simply use the PHP header() function to redirect a user to a different page. The PHP code in the following example will redirect the user from the page in which it is placed to the URL http://www.example.com/another-page.php .