Jump to content

Call to undefined function CommonMark\Parse()

Recommended Posts

1 hour ago, rick645 said:

But to uninstall (complete uninstall, leaving no traces)?

Sometimes you can make uninstall, but I don't know if that is standard.  You might just have to go through and delete things manually. 

It's been a long time since I've built and installed anything like that, mostly I can just use apt to get whatever I need and let it manage everything.


Link to comment
Share on other sites

Sorry for the delay

$ wget https://github.com/dwo0/cmark/archive/refs/heads/develop.zip \
&& unzip develop \
&& cd cmark-develop \
&& phpize \
&& ./configure \
&& sudo make install
$ make uninstall
make: *** No rule to make target 'uninstall'.  Stop.
Link to comment
Share on other sites

I will try and clarify a few things for you:

  • PHP has the ability to integrate libraries known as extensions
  • Many extensions can be installed directly via PECL, but there are cases when an extension isn't available via PECL
  • Other extensions have been pre-compiled and packaged such that in a particular linux distro you can add one just by using a system package manager
  • An extension can be enabled or not, by referencing the location of the extension library in the php.ini.
  • The php.ini has an include that will search a directory for other files to include
    • Often extensions not only have a shared library path that is required, but also have some settings that can be configured.
      • For this reason, as Kicken stated previously, most packages and extensions include a config file in .ini format that will go into a typical location like /etc/php.d or similar.  The benefit of this is that you don't touch the primary php.ini file.
      • At the risk of overcomplicating, it is also not unusual for there to be multiple php.ini files (one for web integration and another for command line php (cli) settings.  For example, some systems may have long lived cli programs they run from cron, and might want to allocate more memory and execution time to those than they would be comfortable with for php web processes.
      • On many distros you have to trace where the actual current php.ini lives.  Many distros handle php version updates by providing a base php.ini that they then symlink to a typical location like /etc/php.ini.  You might need to investigate the server install and phpinfo() etc. to be sure you understand what config files are being loaded from where.
        • Regardless of that, since you have a directory for extensions already, most people in your situation would:
          • Create a cmark.ini file in that directory and put the extension statement in that file rather than editing the php.ini.
  • You are in a situation where you can't install from an extension nor use pecl, so you're having to use option C, which is to build the extension yourself and enable it.
    • This is what phpize does.  It is simply setting up the environment so that the extension code can be configured,compiled, and installed.


How to uninstall in this situation?

There really is no uninstall.  

  • Once you are done with the compilation from source, you get the extension library.
  • It will only be available to php if the extension is enabled.
  • You no longer need the source code and can delete it entirely once you've made it.  All the make install does is move it to the system extension directory (which is a convenience and not a requirement), and may add an entry enabling the extension in the php.ini.  
  • Commenting out the extension, and it will no longer be part of php
  • If you don't need it, further, commenting out, or removing the line of extension.ini file (if you made one) will disable it.
  • You can delete the extension or not, but it's not registered in the OS or anything like that.

Depending on how you run PHP you probably will need to restart "php" which might be restarting the webserver, or restarting php-fpm if that's what you are using.  There is nothing else to it.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.