Jump to content

Randy Calvert

  • Posts

  • Joined

  • Last visited

  • Days Won


 Content Type 


Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory






Everything posted by Randy Calvert

  1. New versions of IPB do not run on PHP7.4. It's been end of life by the authors of PHP for almost a year and a half. You need to be on PHP 8.1 and make sure that version has all of the required modules installed. (Check the compatibility checking script to confirm.) Once on PHP8.1, you would want to do a manual upgrade because the auto upgrader WILL fail. (Upload a set of files from the IPB client area and then run domain.com/admin/upgrade)
  2. Did you try the suggested fix of running domain.com/admin/upgrade? Also, since it was a 500 error... that would mean there was some sort of server error. It might be worth looking at your PHP error logs to see what is happening.
  3. Given that it has not been removed from IPB yet (happening in v5), I have not seen anything released at this time for that. It would most likely not even started until 3rd party developers can get their hands on IPB5 since that’s when it would actually be needed.
  4. You don't want to increase ALL parameters drastically. You want to set the values to be in line with what your server can handle. I would recommend trying to understand what each of these parameters actually are doing here: pm.max_children = 50000 This should be your total RAM dedicated to the web server / Max child process size (look at something like "top" or "ps aux | grep fpm" and look at the size of the memory being used) pm.start_servers = 2 This is how many instances are initially spawned. So at the time Apache and FPM are started, this is how many get kicked off without anything happening. pm.min_spare_servers = 3 This is the minimum number of children in 'idle' state (waiting to process). If the number of 'idle' processes is less than this number then some children will be created. pm.max_spare_servers = 3 This is the minimum number of children in 'idle' state (waiting to process). If the number of 'idle' processes is less than this number then some children will be created. If you simply just raise all of the values, you're going to have a ton of extra processes running. Having the min and max being the same exact value also is problematic as well as it does not give you an easy way to scale processes. I would take a look at the following to understand a bit more about FPM tuning: https://tideways.com/profiler/blog/an-introduction-to-php-fpm-tuning I would also highly recommend adding a few parameters such as pm.process_idle_timeout which will end extra spawned processes that are not being used. There are a bunch more parameters available as well that can potentially optimize your experience. Checking the docs should give you a better idea of what is possible.
  5. As noted by Nathan, you would want to actually drop the database and recreate instead of simply emptying it. Or simply create a brand new database with a different name.
  6. How much RAM do you have available for your server? You would want to look at how much memory an FPM process uses and divide that by about 75-80 pct of your total. (Make sure to standardize both numbers so they’re same type such as both in KB or bytes.) That would reflect how many servers you can have running in total without going into a OOM (Out of Memory) situation. Once you share the total RAM, also share an FPM line from top report.
  7. You might be able to do something from the command line with something like: for i in $(ls /var/lib/mysql/*/*.ibd) do innochecksum -v $i done That’s assuming the path to your raw db files are in that path. Also I would first try to run that command with MySQL offline first. I’m on my phone now so I can’t fix formatting.
  8. I just checked several topics on my site by looking at the "og:image" property. If the file was actually attached (meaning it was in the section defined for uploads in the storage settings), the first image attached was used. If there was an image pasted from an external URL, the og:image returned the default share image. After looking at an entire page of topics, I could not find any that had an og:image return an external image. If you want to look for yourself, view the page source code and look for: <meta property="og:image" content="XXX">
  9. In the errors described by the OP where he's copy/pasted an IPB trace, each one has had 3rd party code or resources. He now says each 3rd party resource is disabled and now he's running out of system resources. In addition, he's posted the following as multiple entries from the PHP log: Having a poorly configured php-fpm configuration CAN lead to system stability issues when the max number of instances that are able to be handled by PHP is reached and it can lead to a dramatic increase in the system load average. Thus the suggestion to optimize the config and/or increase system resources. I'm not sure how checking an end user's security headers presented will change system utilization or diagnose code level issues. So I've intentionally not commented on the suggestion you've presented. I assume you have an idea about something outside of it being a configuration issue or IPB code or 3rd party resource issue that I've not considered. (Which is great... the more ideas to try the better!)
  10. By the way... if you don't know where your FPM config is and you have root access.... you can run the following command typically: ps aux | grep php-fpm| grep master In that case, the config file that FPM is loading from would be /usr/local/etc/php-fpm.conf. You could edit the file in a text editor such as pico, nano, or vim. The file could also be just /etc/php-fpm.conf, or be in a bunch of other places. That's why it's important to know your specific server setup/config.
  11. It sounds like your mySQL database might have some corruption in it. You might want to restore it from backup. Since you can get it back online with recovery mode 2, you can just export the database and rescue the data. https://mariadb.com/kb/en/innodb-recovery-modes/ I would suggest immediately dumping the database, andreimport it. (You could potentially just import it into a new database with a new username/password as well just to be safe.) Did the server run out of space or was it rebooted without a clean shutdown? I typically only see that sort of thing happen when mySQL loses the ability to read data that happened to be in the memory buffer before it has a chance to write to the disk.
  12. These are all saying your PHP-FPM does not have enough processes to handle your traffic. You should look at optimizing your PHP-FPM configuration. I would also suggest looking at the number of Apache processes you have. It MAY be an attack, but if this has been going on for a month and a half, it's not very likely. They don't typically target sites that long unless they're looking to get something from you. It sounds more like you need to optimize your system resources more or move to a bigger server and optimize it.
  13. In that case, you might want to post this request in the feedback forum so it can be considered later by the dev team. What you're asking for is not part of the default iPB software and it's not designed to work the way you want it to. As a result, it's not a break/fix issue, but instead a feature request.
  14. As @Sonya* noted in her reply, just mass search/replacing does not necessarily solve your problem with outbound links unless you're 100% positive any HTTP link actually does work with HTTPS. If this is SERIOUSLY a concern for you, use @Nathan Explosion's resource as it's the most elegant solution. Simply don't give Google links! Nathan does fantastic work and I would highly recommend his stuff! In the grand scheme of things, I would personally focus more on good quality content vs worrying about a few broken links that may exist on the site. It's like focusing on the dollars instead of the pennies or nickels. Put your time/effort into the stuff that has the biggest impact on scoring,
  15. You can generally tell when there is a big issue with the software because dozens of people are here with the same issue. This topic was created a month and a half ago and there have not been any type of swells of "me too" type messages. So it's likely not a basic code issue that is impacting the majority of users. Now... there could be a problem with how your specific server configuration is setup with the latest version of the software, but that would require you to dig into your server logs to understand that. .GZ are like ZIP files. They're compressed files that contain data. So no, they're not real time. At the end of the day, you need to figure out where or even if your server logs PHP errors to and review those. You theoretically could watch those files in real time if you knew where they were. We can't tell you where those files are because there is no one specific spot for them. It depends on how your specific server was setup. Different OS put files in different places and if you use a control panel, it could be somewhere else even different from the OS default. You may need to hire some sort of server administrator to dig into your server configuration for you if you are not familiar with getting the details of your specific setup. Also... if your board works for a bit and then a few hours later stops working, it's possible your server can't handle the volume of traffic and either needs more resources or needs the server configuration to be optimized. (For example, improving the mySQL my.cnf file, or optimizing the number of Apache processes for the amount of resources of the server.)
  16. We might as well cut to the chase and skip the examples. I can give other examples of not expiring subscriptions such as Netflix or my cable bill. It does not matter ultimately. What you are wanting to do is not possible with the software. You will either need to change your model, hire a 3rd party resource provider to create the functionality, or use a different solution.
  17. You might need to work with your host do those actions directly from the server or via phpMyAdmin. It sounds like your server's Apache timeout value is too low to run those queries before Apache gives up waiting.
  18. Not found would indicate either you uploaded files to the wrong spot or your server is configured wrong. In either case, it's not a software issue. A 404 error (not found) would not be a PHP issue regardless of version. The server can't find a file to even have it processed by PHP.
  19. It was related to a bug in 4.1.x which is almost 10 years old. 😉 Read further down in that thread and you'll see after making the change to the my.cnf and rebuilding the IPB search index, it worked.
  20. It's a limitation of mySQL. It's a global change that needs to be made to your mySQL server. Specifically you need to edit (or create) the ft_min_word_len variable with the minimum character limit and then restart mySQL. [mysqld] ft_min_word_len=N This can have a BIIIIIIIG impact on mySQL's performance and could cause stability/reliability issues. Changing the minimum word length will cause many queries to have to do much more work and cause much higher system resource usage. So you should understand the risks and challenges associated with the request. Also it goes without saying this is not an IPS issue and something that support can assist with. 🙂
  21. What actions do you have configured when an account is marked as a spammer? If you are not banning them, they would still be allowed to change a profile picture.
  22. I’m assuming you did run the compatibility checker script to make sure your new host has all of the required modules when you changed the php version also.
  23. It’s honestly not worth the time/effort to try and support them anymore. They have made it WAY to complex and burdensome to continue with.
  24. Convert is the converters. When you download the IPB files you need to choose to include the converters. I believe for the cloud app, just delete the existing folder in the applications folder.
  • Create New...