Jump to content


WHMCS Developer
  • Content count

  • Joined

  • Last visited

  • Days Won


WHMCS Nate last won the day on December 13 2017

WHMCS Nate had the most liked content!

Community Reputation

88 Excellent

About WHMCS Nate

  • Rank
    WHMCS Staff
  1. WHMCS PHP Upgrade

    Tom, It's not quite once per PHP version, you encode once per ionCube target. So once for the target that works in PHP 5.6 & 7.0 and once for the target that supports PHP 7.1 & 7.2. Now if you had code that supported versions older than 5.6 as well, you could bundle a third target as well and still distribute a single set of files that will work for any install with the latest ionCube loaders. As we said in the blog, this is a win for the overall php development community. Nate
  2. WHMCS PHP Upgrade

    Tom, I did my best to explain exactly how we are planning on providing support for PHP 5.6, 7.0, 7.1, and 7.2 within WHMCS 7.5 using a single set of files in the blog post / forum post that Chris just linked to. When you say: "10.1 will allow php 5.6 and up now then?" but don't specify if you are talking about the loader version or the encoder version its impossible to give you a straight answer. The new bundling technique allows you to ship two ionCube targets in the same file and the loader figures out which one to load and use. If you want support for 5.6, 7.0, 7.1, and 7.2 you have to bundle two encoding runs and have the latest ionCube loaders (10.1.x). Hope that is clearer, Nate
  3. WHMCS PHP Upgrade

    I've made internal alpha builds with of WHMCS 7.5 with a beta of the ionCube encoder that supports bundled encoding. We have run initial tests on it with the 10.1 ionCube loaders under PHP 7.1 and 7.2. I am confident that WHMCS 7.5 will allow you to upgrade to PHP 7.1 or 7.2 as you desire. Until you've upgraded to WHMCS 7.5, it will not work. Nate
  4. Adding custom (external) api functions

    Just wanted to add a bit of context here, what is discussed here is a method to add code server side that can be triggered remotely. For me an API can be understood as a promise between the developer using it and then developer providing it to communicate and respond in specific ways. We work hard to preserve backwards compatibility with our APIs. We are not making that kind of a promise and in fact this will not work with our API Credential Roles functionality. If you want to implement a URL that can run custom code, I would recommend using an addon module with the admin area output or client area output functionality: https://developers.whmcs.com/addon-modules/admin-area-output/ https://developers.whmcs.com/addon-modules/client-area-output/
  5. Hello, We have posted a further update on our blog and over in the news and announcements forum - Nate
  6. As a continuation and update to the discussion at WHMCS.community, I'm pleased to announce that support for PHP 7.1 and PHP 7.2 is right around the corner! Your automatic update to WHMCS v7.5 will support PHP 5.6, 7.0, 7.1, and 7.2 environments with IonCube loader 10.1. To accomplish this WHMCS is leveraging yet-to-be released IonCube functionality that overcomes the lack of multi-PHP support in the IonCube Encoder. We expect to release WHMCS 7.5 in the first quarter of 2018.WHMCS v7.4.2 is scheduled for release in January 2018. Beyond general maintenance, this release will contain additional checks and notifications to enable the safest automatic update process. These checks will include new functionality to ensure your environment has the appropriate ionCube loaders before a new version of WHMCS is deployed, ensuring that your system is ready to run the new version of WHMCS without issue. As a result, only v7.4.2 (and future v7.4 releases) will be able to automatically update to WHMCS v7.5. Any WHMCS installation prior to V7.4.2 will need to first auto-update to 7.4.2, and only then, will you be able to update to v7.5 when that update becomes available.Supporting the latest versions of PHP is important to us and to you. Long before IonCube released their initial loaders and encoder with PHP 7.1 support, we had been testing WHMCS under PHP 7.1 internally and making sure our product was compatible. In September when IonCube first released their Encoder and Loader products with support for PHP 7.1, we quickly realized there were differences with how previous encoder / loaders work and these differences caused challenges to the automated upgrade process we strive to provide within WHMCS. Specifically files that were encoded for PHP 5.6 and 7.0 could not be read in PHP 7.1; while files encoded for PHP 7.1 could not be read in earlier versions. Despite the WHMCS codebase being PHP 7.1 ready, the tooling and target environments weren't.This would have prevented us from providing the seamless automatic experience we have so far delivered within the WHMCS 7 series. We made the choice not to release multiple builds that might confuse customers and wouldn't work with our automatic updater and instead we began investigating and prototyping ways to provide the most seamless end user experience to bridge the gap, and have been developing and evaluating a number of possible solutions. At the same time we contacted IonCube and they agreed an alternative solution would be preferable. However, they couldn't provide a firm commitment on if or when any changes could be expected. So, we had to explore more complex alternatives, ones that would deliver the environment support and the quality experience you expect from us. These prototypes ranged from a version of WHMCS with double encodings and proxy entry points to complex update mirrors and environment logic to alternating version schemas for different encodings.Last week IonCube contacted us with a beta edition of Encoder and Loader 10.1. Using these products, multiple PHP environment support can be achieved with far less complexity in WHMCS, our build systems, and our update infrastructure. We've already used it to produce alpha builds of WHMCS 7.5, validated those builds running on PHP 7.1 with the beta loaders and are confident it will allow us to provide a viable solution for all WHMCS customers.This bundled encoding is a welcome solution because it not only works for WHMCS, but for the whole PHP community. It reduces the efforts required to maintain up to date environments and software with the least impact on production systems. The downside is the IonCube Loader v10.1 is required.In an effort to mitigate this downside, we've had ongoing discussions with our partner cPanel. They are ready to move quickly and prioritize providing the new 10.1.0 loaders via EasyApache 4 as soon as IonCube releases them for general availability.Some customers have asked us about PHP's release cycle and a resulting warning displayed in the WHMCS System Health Status report. The intent of this systematic warning is to encourage planning for environment maintenance. Since PHP 7.0 will be receiving security patches up to December 2018 you should have adequate time to update both your environment and WHMCS.WHMCS v7.4.2 will be out next month. With that release and the IonCube Loader 10.1 expected shortly, you'll be all set for WHMCS v7.5. Stay tuned to the blog for more v7.5 feature announcements and release news!
  7. Oops! Something went wrong

    Hello, WHMCS requires a minimum of 64MB of ram for the php memory limit: https://docs.whmcs.com/System_Requirements Your error suggests that you have a limit set of 32MB. I recommend raising the memory limit.
  8. Hello crshep, We use allow_url_fopen to fetch files for the automatic updater for a few reasons: We built the updater on top of the php library "composer", our reasons for using composer are a bit longer than a quick forum reply but as a super short summary: it allow us a flexible language for dependencies and upgrade calculation which is widely tested and used; and it allows us to extend additional functionality we're excited to deliver in future versions. Composer uses the built in php streams for downloading because its available to use across the widest variety of systems. In our testing, we found more users had issues with using libcurl then using php's fopen stream directly. I have worked as a senior admin for a large shared / reseller web host and understand their reasoning for disabling this functionality by default. There are situations where it should be enabled and hopefully your host can allow you to craft a custom php.ini which can enable this just for WHMCS. Have a good day, Nate C
  9. Hi Kudouyuzi, You're showing some files / contents but not their location. The right location for these files depends on exactly how php and libcurl have been compiled and the operating system they are running on. These details can be examined but doing so works best if you can give our techs access via a support ticket. Have you confirmed that your certs are part of any open_basedir settings you have set? Nate
  10. Glad to hear it got resolved, was it 1, 2 or something else?
  11. So we know of three situations that can cause this: 1) You have out of date root certificates. These are normally provided by your OS and updating them can be as simple as getting the latest packages. Alternatively you can download fresh ones here: https://curl.haxx.se/ca/cacert.pem 2) Some users have reported that the setting they have for php's openbasedir setting blocked the php program from opening that cacert bundle. In this case modifying or disabling that restriction allowed them to upgrade without issue. 3) Something is causing your application not to connect to the real update server, this is what SSL certificate validation is designed to prevent. Most likely this is not the case, but if it was happening it may be a hacker attempting to get you to download and install different files so they can compromise your installation. We use multiple certificate and signature validation stages to ensure you get the files we intended. If you've addressed the first two possibilities the last option is something our support team can help you investigate further. Have a great day. Nate C
  12. Hosting Password

    Can you say some more about the "new safety rules of cPanel"? I've checked the release notes for 68-62 and don't see anything new there.
  13. Issue with Client Login

    Yes, that is a new theme file that was introduced in 7.3. If your doing a custom theme you need to pull all the changes over.
  14. WHMCS 7.3.0 does not support PHP 7.1, you need to switch to php 7.0.x.
  15. Hide a widget, not sticking

    Clearly you need to PM @WHMCS ChrisD about your lack of ability to send PMs Thanks for the ticket ID, I'll touch base w/our support team and work towards a resolution with you there. Once we've tracked down exactly the root problem we can update this thread for anyone else who might be struggling with similar issues.

Important Information

By using this site, you agree to our Terms of Use & Guidelines